@firmachain/firma-js 0.2.24 → 0.2.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,21 +36,27 @@ npm i @firmachain/firma-js
36
36
  import { FirmaSDK } from "@firmachain/firma-js"
37
37
  import { FirmaConfig } from "@firmachain/firma-js"
38
38
 
39
- // use preset config
39
+ // use preset config : testnet
40
40
  const firma = new FirmaSDK(FirmaConfig.TestNetConfig);
41
41
 
42
+ // use preset config : mainnet
43
+ const firma = new FirmaSDK(FirmaConfig.MainNetConfig);
44
+
42
45
  // or use custom set
46
+
43
47
  let chainConfig = {
44
- chainID: "imperium-2",
45
- rpcAddress: "http://127.0.0.1:26657",
46
- restApiAddress: "http://127.0.0.1:1317",
47
- ipfsNodeAddress: "ipfs-api-firma-devnet.firmachain.org",
48
- ipfsNodePort: 5001,
49
- ipfsWebApiAddress: "https://ipfs-firma-devnet.firmachain.org",
50
- hdPath: "m/44'/7777777'/",
51
- prefix: "firma",
52
- denom: "ufct",
53
- isShowLog: true,
48
+ chainID: "colosseum-1",
49
+ rpcAddress: "https://lcd-mainnet.firmachain.dev:26657",
50
+ restApiAddress: "https://lcd-mainnet.firmachain.dev:1317",
51
+ ipfsNodeAddress: "https://ipfs-dev.firmachain.dev",
52
+ ipfsNodePort: 5001,
53
+ ipfsWebApiAddress: "https://ipfs-dev.firmachain.dev",
54
+ hdPath: "m/44'/7777777'/",
55
+ prefix: "firma",
56
+ denom: "ufct",
57
+ defaultFee: 30000,
58
+ defaultGas: 300000,
59
+ isShowLog: false,
54
60
  }
55
61
 
56
62
  const firma = new FirmaSDK(chainConfig);
@@ -106,7 +112,7 @@ let result = await firma.Bank.send(wallet, address, fctAmount);
106
112
  ### Bank send - extended version
107
113
  ```js
108
114
  const fctAmount = 10;
109
- let result = await firma.Bank.send(wallet, address, fctAmount, { memo: "", fee: 3000, gas: 200000 });
115
+ let result = await firma.Bank.send(wallet, address, fctAmount, { memo: "", fee: 30000, gas: 300000 });
110
116
  ```
111
117
 
112
118
  ### Calculate gas
@@ -134,4 +140,4 @@ let result = await firma.Nft.burn(wallet, tokenId);
134
140
 
135
141
  You can see everything usage of firma-js on the test folder.
136
142
  </br>
137
- https://github.com/FirmaChain/firma-js/tree/main/test
143
+ https://github.com/FirmaChain/firma-js/tree/main/test
@@ -6,6 +6,7 @@ export declare class FirmaBankService {
6
6
  private readonly config;
7
7
  constructor(config: FirmaConfig);
8
8
  getGasEstimationSend(wallet: FirmaWalletService, targetAddress: string, amount: number, txMisc?: TxMisc): Promise<number>;
9
+ getGasEstimationSendToken(wallet: FirmaWalletService, targetAddress: string, tokenID: string, amount: number, decimal: number, txMisc?: TxMisc): Promise<number>;
9
10
  sendToken(wallet: FirmaWalletService, targetAddress: string, tokenID: string, amount: number, decimal: number, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
10
11
  send(wallet: FirmaWalletService, targetAddress: string, amount: number, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
11
12
  getTokenBalanceList(address: string): Promise<Token[]>;
@@ -65,10 +65,10 @@ var FirmaBankService = /** @class */ (function () {
65
65
  });
66
66
  });
67
67
  };
68
- FirmaBankService.prototype.sendToken = function (wallet, targetAddress, tokenID, amount, decimal, txMisc) {
68
+ FirmaBankService.prototype.getGasEstimationSendToken = function (wallet, targetAddress, tokenID, amount, decimal, txMisc) {
69
69
  if (txMisc === void 0) { txMisc = FirmaUtil_1.DefaultTxMisc; }
70
70
  return __awaiter(this, void 0, void 0, function () {
71
- var txRaw, bankTxClient, error_2;
71
+ var txRaw, error_2;
72
72
  return __generator(this, function (_a) {
73
73
  switch (_a.label) {
74
74
  case 0:
@@ -76,8 +76,7 @@ var FirmaBankService = /** @class */ (function () {
76
76
  return [4 /*yield*/, this.getSignedTxSend(wallet, targetAddress, tokenID, FirmaUtil_1.FirmaUtil.getUTokenStringFromToken(amount, decimal), txMisc)];
77
77
  case 1:
78
78
  txRaw = _a.sent();
79
- bankTxClient = new bank_1.BankTxClient(wallet, this.config.rpcAddress);
80
- return [4 /*yield*/, bankTxClient.broadcast(txRaw)];
79
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.estimateGas(txRaw)];
81
80
  case 2: return [2 /*return*/, _a.sent()];
82
81
  case 3:
83
82
  error_2 = _a.sent();
@@ -88,7 +87,7 @@ var FirmaBankService = /** @class */ (function () {
88
87
  });
89
88
  });
90
89
  };
91
- FirmaBankService.prototype.send = function (wallet, targetAddress, amount, txMisc) {
90
+ FirmaBankService.prototype.sendToken = function (wallet, targetAddress, tokenID, amount, decimal, txMisc) {
92
91
  if (txMisc === void 0) { txMisc = FirmaUtil_1.DefaultTxMisc; }
93
92
  return __awaiter(this, void 0, void 0, function () {
94
93
  var txRaw, bankTxClient, error_3;
@@ -96,7 +95,7 @@ var FirmaBankService = /** @class */ (function () {
96
95
  switch (_a.label) {
97
96
  case 0:
98
97
  _a.trys.push([0, 3, , 4]);
99
- return [4 /*yield*/, this.getSignedTxSend(wallet, targetAddress, this.config.denom, FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amount), txMisc)];
98
+ return [4 /*yield*/, this.getSignedTxSend(wallet, targetAddress, tokenID, FirmaUtil_1.FirmaUtil.getUTokenStringFromToken(amount, decimal), txMisc)];
100
99
  case 1:
101
100
  txRaw = _a.sent();
102
101
  bankTxClient = new bank_1.BankTxClient(wallet, this.config.rpcAddress);
@@ -111,9 +110,32 @@ var FirmaBankService = /** @class */ (function () {
111
110
  });
112
111
  });
113
112
  };
113
+ FirmaBankService.prototype.send = function (wallet, targetAddress, amount, txMisc) {
114
+ if (txMisc === void 0) { txMisc = FirmaUtil_1.DefaultTxMisc; }
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var txRaw, bankTxClient, error_4;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ _a.trys.push([0, 3, , 4]);
121
+ return [4 /*yield*/, this.getSignedTxSend(wallet, targetAddress, this.config.denom, FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amount), txMisc)];
122
+ case 1:
123
+ txRaw = _a.sent();
124
+ bankTxClient = new bank_1.BankTxClient(wallet, this.config.rpcAddress);
125
+ return [4 /*yield*/, bankTxClient.broadcast(txRaw)];
126
+ case 2: return [2 /*return*/, _a.sent()];
127
+ case 3:
128
+ error_4 = _a.sent();
129
+ FirmaUtil_1.FirmaUtil.printLog(error_4);
130
+ throw error_4;
131
+ case 4: return [2 /*return*/];
132
+ }
133
+ });
134
+ });
135
+ };
114
136
  FirmaBankService.prototype.getTokenBalanceList = function (address) {
115
137
  return __awaiter(this, void 0, void 0, function () {
116
- var bankQueryClient, result, tokenList, i, error_4;
138
+ var bankQueryClient, result, tokenList, i, error_5;
117
139
  return __generator(this, function (_a) {
118
140
  switch (_a.label) {
119
141
  case 0:
@@ -131,9 +153,9 @@ var FirmaBankService = /** @class */ (function () {
131
153
  }
132
154
  return [2 /*return*/, tokenList];
133
155
  case 2:
134
- error_4 = _a.sent();
135
- FirmaUtil_1.FirmaUtil.printLog(error_4);
136
- throw error_4;
156
+ error_5 = _a.sent();
157
+ FirmaUtil_1.FirmaUtil.printLog(error_5);
158
+ throw error_5;
137
159
  case 3: return [2 /*return*/];
138
160
  }
139
161
  });
@@ -141,7 +163,7 @@ var FirmaBankService = /** @class */ (function () {
141
163
  };
142
164
  FirmaBankService.prototype.getTokenBalance = function (address, tokenID) {
143
165
  return __awaiter(this, void 0, void 0, function () {
144
- var bankQueryClient, result, error_5;
166
+ var bankQueryClient, result, error_6;
145
167
  return __generator(this, function (_a) {
146
168
  switch (_a.label) {
147
169
  case 0:
@@ -152,9 +174,9 @@ var FirmaBankService = /** @class */ (function () {
152
174
  result = _a.sent();
153
175
  return [2 /*return*/, result.amount];
154
176
  case 2:
155
- error_5 = _a.sent();
156
- FirmaUtil_1.FirmaUtil.printLog(error_5);
157
- throw error_5;
177
+ error_6 = _a.sent();
178
+ FirmaUtil_1.FirmaUtil.printLog(error_6);
179
+ throw error_6;
158
180
  case 3: return [2 /*return*/];
159
181
  }
160
182
  });
@@ -162,7 +184,7 @@ var FirmaBankService = /** @class */ (function () {
162
184
  };
163
185
  FirmaBankService.prototype.getBalance = function (address) {
164
186
  return __awaiter(this, void 0, void 0, function () {
165
- var bankQueryClient, result, error_6;
187
+ var bankQueryClient, result, error_7;
166
188
  return __generator(this, function (_a) {
167
189
  switch (_a.label) {
168
190
  case 0:
@@ -173,9 +195,9 @@ var FirmaBankService = /** @class */ (function () {
173
195
  result = _a.sent();
174
196
  return [2 /*return*/, result.amount];
175
197
  case 2:
176
- error_6 = _a.sent();
177
- FirmaUtil_1.FirmaUtil.printLog(error_6);
178
- throw error_6;
198
+ error_7 = _a.sent();
199
+ FirmaUtil_1.FirmaUtil.printLog(error_7);
200
+ throw error_7;
179
201
  case 3: return [2 /*return*/];
180
202
  }
181
203
  });
@@ -184,7 +206,7 @@ var FirmaBankService = /** @class */ (function () {
184
206
  FirmaBankService.prototype.getSignedTxSend = function (wallet, targetAddress, denom, amount, txMisc) {
185
207
  if (txMisc === void 0) { txMisc = FirmaUtil_1.DefaultTxMisc; }
186
208
  return __awaiter(this, void 0, void 0, function () {
187
- var bankTxClient, address, sendAmount, message, error_7;
209
+ var bankTxClient, address, sendAmount, message, error_8;
188
210
  return __generator(this, function (_a) {
189
211
  switch (_a.label) {
190
212
  case 0:
@@ -198,9 +220,9 @@ var FirmaBankService = /** @class */ (function () {
198
220
  return [4 /*yield*/, bankTxClient.sign([message], FirmaUtil_1.getSignAndBroadcastOption(this.config.denom, txMisc))];
199
221
  case 2: return [2 /*return*/, _a.sent()];
200
222
  case 3:
201
- error_7 = _a.sent();
202
- FirmaUtil_1.FirmaUtil.printLog(error_7);
203
- throw error_7;
223
+ error_8 = _a.sent();
224
+ FirmaUtil_1.FirmaUtil.printLog(error_8);
225
+ throw error_8;
204
226
  case 4: return [2 /*return*/];
205
227
  }
206
228
  });
@@ -62,6 +62,9 @@ var TendermintQueryClient = /** @class */ (function () {
62
62
  case 1:
63
63
  result = _a.sent();
64
64
  data = result.data.result.response.value;
65
+ if (result.data.result.response.code != 0) {
66
+ throw result.data.result.response.log;
67
+ }
65
68
  jsonString = Buffer.from(data, "base64").toString("utf8");
66
69
  jsonData = JSON.parse(jsonString);
67
70
  return [2 /*return*/, Number.parseInt(jsonData.gas_info.gas_used)];
@@ -23,7 +23,7 @@ export interface RedelegationInfo {
23
23
  initial_balance: string;
24
24
  shares_dst: string;
25
25
  };
26
- balances: string;
26
+ balance: string;
27
27
  }[];
28
28
  }
29
29
  export interface UndelegationInfo {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firmachain/firma-js",
3
- "version": "0.2.24",
3
+ "version": "0.2.28",
4
4
  "description": "The Official FirmaChain Javascript SDK written in Typescript",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",