@firmachain/firma-js 0.3.3 → 0.3.5

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 (245) hide show
  1. package/dist/index.js +5 -1
  2. package/dist/sdk/FirmaAuthzService.d.ts +8 -7
  3. package/dist/sdk/FirmaAuthzService.js +12 -22
  4. package/dist/sdk/FirmaBankService.js +2 -2
  5. package/dist/sdk/FirmaChainService.js +1 -1
  6. package/dist/sdk/FirmaContractService.d.ts +1 -1
  7. package/dist/sdk/FirmaContractService.js +6 -6
  8. package/dist/sdk/FirmaCosmWasmCw20.d.ts +2 -2
  9. package/dist/sdk/FirmaCosmWasmCw20.js +8 -8
  10. package/dist/sdk/FirmaCosmWasmCw721.d.ts +2 -2
  11. package/dist/sdk/FirmaCosmWasmCw721.js +12 -12
  12. package/dist/sdk/FirmaCosmWasmCwBridge.d.ts +1 -1
  13. package/dist/sdk/FirmaCosmWasmCwBridge.js +8 -8
  14. package/dist/sdk/FirmaCosmWasmCwMarketplace.d.ts +1 -1
  15. package/dist/sdk/FirmaCosmWasmCwMarketplace.js +5 -5
  16. package/dist/sdk/FirmaCosmWasmService.d.ts +1 -1
  17. package/dist/sdk/FirmaCosmWasmService.js +13 -13
  18. package/dist/sdk/FirmaDistributionService.d.ts +1 -1
  19. package/dist/sdk/FirmaDistributionService.js +6 -6
  20. package/dist/sdk/FirmaFeeGrantService.d.ts +7 -6
  21. package/dist/sdk/FirmaFeeGrantService.js +9 -26
  22. package/dist/sdk/FirmaGovService.d.ts +1 -1
  23. package/dist/sdk/FirmaGovService.js +14 -14
  24. package/dist/sdk/FirmaIbcService.d.ts +3 -3
  25. package/dist/sdk/FirmaIbcService.js +11 -8
  26. package/dist/sdk/FirmaIpfsService.js +1 -1
  27. package/dist/sdk/FirmaMintService.js +1 -1
  28. package/dist/sdk/FirmaNftService.d.ts +1 -1
  29. package/dist/sdk/FirmaNftService.js +6 -6
  30. package/dist/sdk/FirmaSlashingService.js +1 -1
  31. package/dist/sdk/FirmaStakingService.d.ts +3 -3
  32. package/dist/sdk/FirmaStakingService.js +6 -6
  33. package/dist/sdk/FirmaTokenService.d.ts +1 -1
  34. package/dist/sdk/FirmaTokenService.js +5 -5
  35. package/dist/sdk/FirmaUtil.d.ts +25 -24
  36. package/dist/sdk/FirmaUtil.js +200 -145
  37. package/dist/sdk/FirmaWalletService.d.ts +6 -7
  38. package/dist/sdk/FirmaWalletService.js +78 -36
  39. package/dist/sdk/firmachain/authz/AuthzQueryClient.js +4 -4
  40. package/dist/sdk/firmachain/authz/AuthzTxTypes.d.ts +8 -11
  41. package/dist/sdk/firmachain/authz/AuthzTxTypes.js +6 -10
  42. package/dist/sdk/firmachain/authz/index.js +5 -1
  43. package/dist/sdk/firmachain/bank/BankQueryClient.js +5 -5
  44. package/dist/sdk/firmachain/bank/index.js +5 -1
  45. package/dist/sdk/firmachain/common/ITxClient.d.ts +2 -4
  46. package/dist/sdk/firmachain/common/ITxClient.js +20 -92
  47. package/dist/sdk/firmachain/common/LedgerWallet.d.ts +19 -3
  48. package/dist/sdk/firmachain/common/LedgerWallet.js +138 -68
  49. package/dist/sdk/firmachain/common/TendermintQueryClient.js +1 -1
  50. package/dist/sdk/firmachain/common/TxCommon.d.ts +13 -29
  51. package/dist/sdk/firmachain/common/accounts.d.ts +1 -1
  52. package/dist/sdk/firmachain/common/accounts.js +7 -7
  53. package/dist/sdk/firmachain/{amino → common}/coins.d.ts +2 -14
  54. package/dist/sdk/firmachain/{amino → common}/coins.js +4 -25
  55. package/dist/sdk/firmachain/common/index.d.ts +0 -1
  56. package/dist/sdk/firmachain/common/index.js +5 -4
  57. package/dist/sdk/firmachain/{amino → common}/wallet.js +15 -11
  58. package/dist/sdk/firmachain/contract/ContractQueryClient.js +3 -3
  59. package/dist/sdk/firmachain/contract/ContractTxTypes.d.ts +6 -6
  60. package/dist/sdk/firmachain/contract/index.js +5 -1
  61. package/dist/sdk/firmachain/cosmwasm/CosmWasmQueryClient.js +9 -9
  62. package/dist/sdk/firmachain/cosmwasm/index.js +5 -1
  63. package/dist/sdk/firmachain/distribution/DistributionQueryClient.js +6 -6
  64. package/dist/sdk/firmachain/distribution/index.js +5 -1
  65. package/dist/sdk/firmachain/feegrant/FeeGrantQueryClient.js +3 -3
  66. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +4 -45
  67. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.js +3 -82
  68. package/dist/sdk/firmachain/feegrant/index.js +5 -1
  69. package/dist/sdk/firmachain/google/protobuf/any.d.ts +3 -3
  70. package/dist/sdk/firmachain/google/protobuf/descriptor.d.ts +29 -29
  71. package/dist/sdk/firmachain/google/protobuf/duration.d.ts +3 -3
  72. package/dist/sdk/firmachain/gov/GovQueryClient.js +3 -3
  73. package/dist/sdk/firmachain/gov/index.js +5 -1
  74. package/dist/sdk/firmachain/ibc/IbcQueryClient.js +2 -2
  75. package/dist/sdk/firmachain/ibc/index.js +5 -1
  76. package/dist/sdk/firmachain/mint/MintQueryClient.js +1 -1
  77. package/dist/sdk/firmachain/mint/index.js +5 -1
  78. package/dist/sdk/firmachain/nft/NftQueryClient.js +1 -1
  79. package/dist/sdk/firmachain/nft/NftTxTypes.d.ts +8 -8
  80. package/dist/sdk/firmachain/nft/index.js +5 -1
  81. package/dist/sdk/firmachain/slashing/SlashingQueryClient.js +1 -1
  82. package/dist/sdk/firmachain/slashing/index.js +5 -1
  83. package/dist/sdk/firmachain/staking/StakingQueryClient.d.ts +2 -2
  84. package/dist/sdk/firmachain/staking/StakingQueryClient.js +10 -9
  85. package/dist/sdk/firmachain/staking/index.js +5 -1
  86. package/dist/sdk/firmachain/token/TokenQueryClient.js +1 -1
  87. package/dist/sdk/firmachain/token/TokenTxTypes.d.ts +11 -11
  88. package/dist/sdk/firmachain/token/TokenTxTypes.js +1 -1
  89. package/dist/sdk/firmachain/token/index.js +5 -1
  90. package/dist/test/00.wallet.test.js +4 -4
  91. package/dist/test/01.contract_tx.test.js +5 -5
  92. package/dist/test/02.contract_query.test.js +15 -15
  93. package/dist/test/03.contract_scenario.test.js +28 -28
  94. package/dist/test/04.bank_tx.test.js +4 -4
  95. package/dist/test/05.bank_query.test.js +9 -9
  96. package/dist/test/06.feegrant_tx.test.js +59 -35
  97. package/dist/test/07.feegrant_query.test.js +18 -15
  98. package/dist/test/08.gas_estimate.test.js +110 -70
  99. package/dist/test/09.ipfs.test.js +4 -4
  100. package/dist/test/10.nft_tx.test.js +7 -7
  101. package/dist/test/11.nft_query.test.js +9 -9
  102. package/dist/test/12.staking_tx.test.js +27 -15
  103. package/dist/test/13.staking_query.test.js +20 -20
  104. package/dist/test/14.distribution_tx.test.js +8 -8
  105. package/dist/test/15.distribution_query.test.js +15 -15
  106. package/dist/test/16.gov_tx.test.js +17 -17
  107. package/dist/test/17.gov_query.test.js +19 -19
  108. package/dist/test/18.util.test.js +105 -63
  109. package/dist/test/19.chain.test.js +38 -38
  110. package/dist/test/20.slashing_query.test.js +25 -25
  111. package/dist/test/21.token_tx.test.js +6 -6
  112. package/dist/test/22.token_query.test.js +4 -4
  113. package/dist/test/23.authz_tx.test.js +77 -47
  114. package/dist/test/24.authz_query.test.js +66 -67
  115. package/dist/test/25.cosmwasm_tx.test.js +7 -7
  116. package/dist/test/26.cosmwasm_query.test.js +127 -59
  117. package/dist/test/{27.arbitary_sign.test.js → 27.arbitrary_sign.test.js} +34 -62
  118. package/dist/test/28.ibc_tx.test.js +8 -8
  119. package/dist/test/29.mint_query.test.js +2 -2
  120. package/dist/test/30.cw20_tx.test.js +20 -20
  121. package/dist/test/31.cw20_query.test.js +24 -24
  122. package/dist/test/32.cw721_tx.test.js +19 -19
  123. package/dist/test/33.cw721_query.test.js +32 -32
  124. package/dist/test/34.cw_bridge_tx.test.js +19 -19
  125. package/dist/test/35.cw_bridge_tx_low.test.js +13 -13
  126. package/dist/test/36.cw_bridge_query.test.js +20 -20
  127. package/dist/test/37.cw_marketplace_tx.test.js +32 -32
  128. package/dist/test/38.cw_marketplace_query.test.js +2 -2
  129. package/dist/test/config_test.d.ts +1 -1
  130. package/dist/test/config_test.js +2 -2
  131. package/package.json +9 -10
  132. package/dist/sdk/firmachain/amino/addresses.d.ts +0 -5
  133. package/dist/sdk/firmachain/amino/addresses.js +0 -46
  134. package/dist/sdk/firmachain/amino/aminomsgs.d.ts +0 -291
  135. package/dist/sdk/firmachain/amino/aminomsgs.js +0 -81
  136. package/dist/sdk/firmachain/amino/aminotypes.d.ts +0 -22
  137. package/dist/sdk/firmachain/amino/aminotypes.js +0 -538
  138. package/dist/sdk/firmachain/amino/encoding.d.ts +0 -33
  139. package/dist/sdk/firmachain/amino/encoding.js +0 -252
  140. package/dist/sdk/firmachain/amino/multisig.d.ts +0 -10
  141. package/dist/sdk/firmachain/amino/multisig.js +0 -42
  142. package/dist/sdk/firmachain/amino/pubkeys.d.ts +0 -47
  143. package/dist/sdk/firmachain/amino/pubkeys.js +0 -29
  144. package/dist/sdk/firmachain/amino/signature.d.ts +0 -16
  145. package/dist/sdk/firmachain/amino/signature.js +0 -36
  146. package/dist/sdk/firmachain/amino/signdoc.d.ts +0 -44
  147. package/dist/sdk/firmachain/amino/signdoc.js +0 -68
  148. package/dist/sdk/firmachain/amino/signer.d.ts +0 -33
  149. package/dist/sdk/firmachain/amino/signer.js +0 -2
  150. package/dist/sdk/firmachain/amino/stdtx.d.ts +0 -15
  151. package/dist/sdk/firmachain/amino/stdtx.js +0 -17
  152. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.d.ts +0 -22
  153. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.js +0 -170
  154. package/dist/sdk/firmachain/common/aminotypes.d.ts +0 -19
  155. package/dist/sdk/firmachain/common/aminotypes.js +0 -74
  156. package/dist/sdk/firmachain/common/events.d.ts +0 -32
  157. package/dist/sdk/firmachain/common/events.js +0 -18
  158. package/dist/sdk/firmachain/common/fee.d.ts +0 -26
  159. package/dist/sdk/firmachain/common/fee.js +0 -83
  160. package/dist/sdk/firmachain/common/modules/auth/queries.d.ts +0 -15
  161. package/dist/sdk/firmachain/common/modules/auth/queries.js +0 -64
  162. package/dist/sdk/firmachain/common/modules/authz/aminomessages.d.ts +0 -2
  163. package/dist/sdk/firmachain/common/modules/authz/aminomessages.js +0 -15
  164. package/dist/sdk/firmachain/common/modules/authz/messages.d.ts +0 -2
  165. package/dist/sdk/firmachain/common/modules/authz/messages.js +0 -9
  166. package/dist/sdk/firmachain/common/modules/authz/queries.d.ts +0 -10
  167. package/dist/sdk/firmachain/common/modules/authz/queries.js +0 -88
  168. package/dist/sdk/firmachain/common/modules/bank/aminomessages.d.ts +0 -35
  169. package/dist/sdk/firmachain/common/modules/bank/aminomessages.js +0 -85
  170. package/dist/sdk/firmachain/common/modules/bank/messages.d.ts +0 -8
  171. package/dist/sdk/firmachain/common/modules/bank/messages.js +0 -12
  172. package/dist/sdk/firmachain/common/modules/bank/queries.d.ts +0 -15
  173. package/dist/sdk/firmachain/common/modules/bank/queries.js +0 -128
  174. package/dist/sdk/firmachain/common/modules/crisis/aminomessages.d.ts +0 -14
  175. package/dist/sdk/firmachain/common/modules/crisis/aminomessages.js +0 -11
  176. package/dist/sdk/firmachain/common/modules/distribution/aminomessages.d.ts +0 -44
  177. package/dist/sdk/firmachain/common/modules/distribution/aminomessages.js +0 -113
  178. package/dist/sdk/firmachain/common/modules/distribution/messages.d.ts +0 -8
  179. package/dist/sdk/firmachain/common/modules/distribution/messages.js +0 -15
  180. package/dist/sdk/firmachain/common/modules/distribution/queries.d.ts +0 -16
  181. package/dist/sdk/firmachain/common/modules/distribution/queries.js +0 -171
  182. package/dist/sdk/firmachain/common/modules/evidence/aminomessages.d.ts +0 -18
  183. package/dist/sdk/firmachain/common/modules/evidence/aminomessages.js +0 -11
  184. package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.d.ts +0 -2
  185. package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.js +0 -14
  186. package/dist/sdk/firmachain/common/modules/feegrant/messages.d.ts +0 -2
  187. package/dist/sdk/firmachain/common/modules/feegrant/messages.js +0 -8
  188. package/dist/sdk/firmachain/common/modules/feegrant/queries.d.ts +0 -9
  189. package/dist/sdk/firmachain/common/modules/feegrant/queries.js +0 -81
  190. package/dist/sdk/firmachain/common/modules/gov/aminomessages.d.ts +0 -79
  191. package/dist/sdk/firmachain/common/modules/gov/aminomessages.js +0 -152
  192. package/dist/sdk/firmachain/common/modules/gov/messages.d.ts +0 -29
  193. package/dist/sdk/firmachain/common/modules/gov/messages.js +0 -39
  194. package/dist/sdk/firmachain/common/modules/gov/queries.d.ts +0 -19
  195. package/dist/sdk/firmachain/common/modules/gov/queries.js +0 -160
  196. package/dist/sdk/firmachain/common/modules/group/aminomessages.d.ts +0 -2
  197. package/dist/sdk/firmachain/common/modules/group/aminomessages.js +0 -8
  198. package/dist/sdk/firmachain/common/modules/group/messages.d.ts +0 -2
  199. package/dist/sdk/firmachain/common/modules/group/messages.js +0 -28
  200. package/dist/sdk/firmachain/common/modules/ibc/aminomessages.d.ts +0 -38
  201. package/dist/sdk/firmachain/common/modules/ibc/aminomessages.js +0 -55
  202. package/dist/sdk/firmachain/common/modules/ibc/messages.d.ts +0 -8
  203. package/dist/sdk/firmachain/common/modules/ibc/messages.js +0 -32
  204. package/dist/sdk/firmachain/common/modules/ibc/queries.d.ts +0 -58
  205. package/dist/sdk/firmachain/common/modules/ibc/queries.js +0 -576
  206. package/dist/sdk/firmachain/common/modules/index.d.ts +0 -32
  207. package/dist/sdk/firmachain/common/modules/index.js +0 -101
  208. package/dist/sdk/firmachain/common/modules/mint/queries.d.ts +0 -21
  209. package/dist/sdk/firmachain/common/modules/mint/queries.js +0 -95
  210. package/dist/sdk/firmachain/common/modules/slashing/aminomessages.d.ts +0 -12
  211. package/dist/sdk/firmachain/common/modules/slashing/aminomessages.js +0 -11
  212. package/dist/sdk/firmachain/common/modules/slashing/queries.d.ts +0 -10
  213. package/dist/sdk/firmachain/common/modules/slashing/queries.js +0 -88
  214. package/dist/sdk/firmachain/common/modules/staking/aminomessages.d.ts +0 -112
  215. package/dist/sdk/firmachain/common/modules/staking/aminomessages.js +0 -234
  216. package/dist/sdk/firmachain/common/modules/staking/messages.d.ts +0 -33
  217. package/dist/sdk/firmachain/common/modules/staking/messages.js +0 -37
  218. package/dist/sdk/firmachain/common/modules/staking/queries.d.ts +0 -23
  219. package/dist/sdk/firmachain/common/modules/staking/queries.js +0 -242
  220. package/dist/sdk/firmachain/common/modules/tx/queries.d.ts +0 -11
  221. package/dist/sdk/firmachain/common/modules/tx/queries.js +0 -103
  222. package/dist/sdk/firmachain/common/modules/vesting/aminomessages.d.ts +0 -16
  223. package/dist/sdk/firmachain/common/modules/vesting/aminomessages.js +0 -56
  224. package/dist/sdk/firmachain/common/modules/vesting/messages.d.ts +0 -2
  225. package/dist/sdk/firmachain/common/modules/vesting/messages.js +0 -7
  226. package/dist/sdk/firmachain/common/queryclient/index.d.ts +0 -2
  227. package/dist/sdk/firmachain/common/queryclient/index.js +0 -10
  228. package/dist/sdk/firmachain/common/queryclient/queryclient.d.ts +0 -75
  229. package/dist/sdk/firmachain/common/queryclient/queryclient.js +0 -157
  230. package/dist/sdk/firmachain/common/queryclient/utils.d.ts +0 -33
  231. package/dist/sdk/firmachain/common/queryclient/utils.js +0 -101
  232. package/dist/sdk/firmachain/common/search.d.ts +0 -10
  233. package/dist/sdk/firmachain/common/search.js +0 -7
  234. package/dist/sdk/firmachain/common/signing.d.ts +0 -15
  235. package/dist/sdk/firmachain/common/signing.js +0 -87
  236. package/dist/sdk/firmachain/common/signingstargateclient.d.ts +0 -121
  237. package/dist/sdk/firmachain/common/signingstargateclient.js +0 -674
  238. package/dist/sdk/firmachain/common/stargateclient.d.ts +0 -210
  239. package/dist/sdk/firmachain/common/stargateclient.js +0 -527
  240. package/dist/sdk/firmachain/google/protobuf/timestamp.d.ts +0 -110
  241. package/dist/sdk/firmachain/google/protobuf/timestamp.js +0 -108
  242. /package/dist/sdk/firmachain/{amino → common}/paths.d.ts +0 -0
  243. /package/dist/sdk/firmachain/{amino → common}/paths.js +0 -0
  244. /package/dist/sdk/firmachain/{amino → common}/wallet.d.ts +0 -0
  245. /package/dist/test/{27.arbitary_sign.test.d.ts → 27.arbitrary_sign.test.d.ts} +0 -0
@@ -1,674 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- 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;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
- var __read = (this && this.__read) || function (o, n) {
65
- var m = typeof Symbol === "function" && o[Symbol.iterator];
66
- if (!m) return o;
67
- var i = m.call(o), r, ar = [], e;
68
- try {
69
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
- }
71
- catch (error) { e = { error: error }; }
72
- finally {
73
- try {
74
- if (r && !r.done && (m = i["return"])) m.call(i);
75
- }
76
- finally { if (e) throw e.error; }
77
- }
78
- return ar;
79
- };
80
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
81
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
82
- to[j] = from[i];
83
- return to;
84
- };
85
- var __importDefault = (this && this.__importDefault) || function (mod) {
86
- return (mod && mod.__esModule) ? mod : { "default": mod };
87
- };
88
- Object.defineProperty(exports, "__esModule", { value: true });
89
- exports.SigningStargateClient = exports.isMsgSignData = exports.createDefaultAminoConverters = exports.defaultRegistryTypes = void 0;
90
- var amino_1 = require("@cosmjs/amino");
91
- var crypto_1 = require("@cosmjs/crypto");
92
- var encoding_1 = require("@cosmjs/encoding");
93
- var math_1 = require("@cosmjs/math");
94
- var proto_signing_1 = require("@cosmjs/proto-signing");
95
- var tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
96
- var utils_1 = require("@cosmjs/utils");
97
- var coin_1 = require("cosmjs-types/cosmos/base/v1beta1/coin");
98
- var tx_1 = require("cosmjs-types/cosmos/distribution/v1beta1/tx");
99
- var tx_2 = require("cosmjs-types/cosmos/staking/v1beta1/tx");
100
- var signing_1 = require("cosmjs-types/cosmos/tx/signing/v1beta1/signing");
101
- var tx_3 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
102
- var tx_4 = require("cosmjs-types/ibc/applications/transfer/v1/tx");
103
- var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
104
- var aminotypes_1 = require("./aminotypes");
105
- var fee_1 = require("./fee");
106
- var modules_1 = require("./modules");
107
- var modules_2 = require("./modules");
108
- var stargateclient_1 = require("./stargateclient");
109
- var FirmaUtil_1 = require("../../FirmaUtil");
110
- exports.defaultRegistryTypes = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
111
- ["/cosmos.base.v1beta1.Coin", coin_1.Coin]
112
- ], __read(modules_1.authzTypes)), __read(modules_1.bankTypes)), __read(modules_1.distributionTypes)), __read(modules_1.feegrantTypes)), __read(modules_1.govTypes)), __read(modules_1.groupTypes)), __read(modules_1.stakingTypes)), __read(modules_1.ibcTypes)), __read(modules_1.vestingTypes));
113
- function createDefaultAminoConverters() {
114
- return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, modules_2.createAuthzAminoConverters()), modules_2.createBankAminoConverters()), modules_2.createDistributionAminoConverters()), modules_2.createGovAminoConverters()), modules_2.createStakingAminoConverters()), modules_2.createIbcAminoConverters()), modules_2.createFeegrantAminoConverters()), modules_2.createVestingAminoConverters());
115
- }
116
- exports.createDefaultAminoConverters = createDefaultAminoConverters;
117
- function isMsgSignData(msg) {
118
- var castedMsg = msg;
119
- if (castedMsg.type !== "sign/MsgSignData")
120
- return false;
121
- if (!utils_1.isNonNullObject(castedMsg.value))
122
- return false;
123
- if (typeof castedMsg.value.signer !== "string")
124
- return false;
125
- if (typeof castedMsg.value.data !== "string")
126
- return false;
127
- return true;
128
- }
129
- exports.isMsgSignData = isMsgSignData;
130
- var SigningStargateClient = /** @class */ (function (_super) {
131
- __extends(SigningStargateClient, _super);
132
- function SigningStargateClient(cometClient, signer, options) {
133
- var _this = _super.call(this, cometClient, options) || this;
134
- // Starting with Cosmos SDK 0.47, we see many cases in which 1.3 is not enough anymore
135
- // E.g. https://github.com/cosmos/cosmos-sdk/issues/16020
136
- _this.defaultGasMultiplier = 1.4;
137
- var _a = options.registry, registry = _a === void 0 ? new proto_signing_1.Registry(exports.defaultRegistryTypes) : _a, _b = options.aminoTypes, aminoTypes = _b === void 0 ? new aminotypes_1.AminoTypes(createDefaultAminoConverters()) : _b;
138
- _this.registry = registry;
139
- _this.aminoTypes = aminoTypes;
140
- _this.signer = signer;
141
- _this.broadcastTimeoutMs = options.broadcastTimeoutMs;
142
- _this.broadcastPollIntervalMs = options.broadcastPollIntervalMs;
143
- _this.gasPrice = options.gasPrice;
144
- return _this;
145
- }
146
- /**
147
- * Creates an instance by connecting to the given CometBFT RPC endpoint.
148
- *
149
- * This uses auto-detection to decide between a CometBFT 0.38, Tendermint 0.37 and 0.34 client.
150
- * To set the Comet client explicitly, use `createWithSigner`.
151
- */
152
- SigningStargateClient.connectWithSigner = function (endpoint, signer, options) {
153
- if (options === void 0) { options = {}; }
154
- return __awaiter(this, void 0, void 0, function () {
155
- var cometClient;
156
- return __generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0: return [4 /*yield*/, tendermint_rpc_1.connectComet(endpoint)];
159
- case 1:
160
- cometClient = _a.sent();
161
- return [2 /*return*/, SigningStargateClient.createWithSigner(cometClient, signer, options)];
162
- }
163
- });
164
- });
165
- };
166
- /**
167
- * Creates an instance from a manually created Comet client.
168
- * Use this to use `Comet38Client` or `Tendermint37Client` instead of `Tendermint34Client`.
169
- */
170
- SigningStargateClient.createWithSigner = function (cometClient, signer, options) {
171
- if (options === void 0) { options = {}; }
172
- return __awaiter(this, void 0, void 0, function () {
173
- return __generator(this, function (_a) {
174
- return [2 /*return*/, new SigningStargateClient(cometClient, signer, options)];
175
- });
176
- });
177
- };
178
- /**
179
- * Creates a client in offline mode.
180
- *
181
- * This should only be used in niche cases where you know exactly what you're doing,
182
- * e.g. when building an offline signing application.
183
- *
184
- * When you try to use online functionality with such a signer, an
185
- * exception will be raised.
186
- */
187
- SigningStargateClient.offline = function (signer, options) {
188
- if (options === void 0) { options = {}; }
189
- return __awaiter(this, void 0, void 0, function () {
190
- return __generator(this, function (_a) {
191
- return [2 /*return*/, new SigningStargateClient(undefined, signer, options)];
192
- });
193
- });
194
- };
195
- SigningStargateClient.prototype.simulate = function (signerAddress, messages, memo) {
196
- return __awaiter(this, void 0, void 0, function () {
197
- var anyMsgs, accountFromSigner, pubkey, sequence, gasInfo;
198
- var _this = this;
199
- return __generator(this, function (_a) {
200
- switch (_a.label) {
201
- case 0:
202
- anyMsgs = messages.map(function (m) { return _this.registry.encodeAsAny(m); });
203
- return [4 /*yield*/, this.signer.getAccounts()];
204
- case 1:
205
- accountFromSigner = (_a.sent()).find(function (account) { return account.address === signerAddress; });
206
- if (!accountFromSigner) {
207
- throw new Error("Failed to retrieve account from signer");
208
- }
209
- pubkey = amino_1.encodeSecp256k1Pubkey(accountFromSigner.pubkey);
210
- return [4 /*yield*/, this.getSequence(signerAddress)];
211
- case 2:
212
- sequence = (_a.sent()).sequence;
213
- return [4 /*yield*/, this.forceGetQueryClient().tx.simulate(anyMsgs, memo, pubkey, sequence)];
214
- case 3:
215
- gasInfo = (_a.sent()).gasInfo;
216
- utils_1.assertDefined(gasInfo);
217
- return [2 /*return*/, math_1.Uint53.fromString(gasInfo.gasUsed.toString()).toNumber()];
218
- }
219
- });
220
- });
221
- };
222
- SigningStargateClient.prototype.sendTokens = function (senderAddress, recipientAddress, amount, fee, memo) {
223
- if (memo === void 0) { memo = ""; }
224
- return __awaiter(this, void 0, void 0, function () {
225
- var sendMsg;
226
- return __generator(this, function (_a) {
227
- sendMsg = {
228
- typeUrl: "/cosmos.bank.v1beta1.MsgSend",
229
- value: {
230
- fromAddress: senderAddress,
231
- toAddress: recipientAddress,
232
- amount: __spreadArray([], __read(amount)),
233
- },
234
- };
235
- return [2 /*return*/, this.signAndBroadcast(senderAddress, [sendMsg], fee, memo)];
236
- });
237
- });
238
- };
239
- SigningStargateClient.prototype.delegateTokens = function (delegatorAddress, validatorAddress, amount, fee, memo) {
240
- if (memo === void 0) { memo = ""; }
241
- return __awaiter(this, void 0, void 0, function () {
242
- var delegateMsg;
243
- return __generator(this, function (_a) {
244
- delegateMsg = {
245
- typeUrl: "/cosmos.staking.v1beta1.MsgDelegate",
246
- value: tx_2.MsgDelegate.fromPartial({
247
- delegatorAddress: delegatorAddress,
248
- validatorAddress: validatorAddress,
249
- amount: amount,
250
- }),
251
- };
252
- return [2 /*return*/, this.signAndBroadcast(delegatorAddress, [delegateMsg], fee, memo)];
253
- });
254
- });
255
- };
256
- SigningStargateClient.prototype.undelegateTokens = function (delegatorAddress, validatorAddress, amount, fee, memo) {
257
- if (memo === void 0) { memo = ""; }
258
- return __awaiter(this, void 0, void 0, function () {
259
- var undelegateMsg;
260
- return __generator(this, function (_a) {
261
- undelegateMsg = {
262
- typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate",
263
- value: tx_2.MsgUndelegate.fromPartial({
264
- delegatorAddress: delegatorAddress,
265
- validatorAddress: validatorAddress,
266
- amount: amount,
267
- }),
268
- };
269
- return [2 /*return*/, this.signAndBroadcast(delegatorAddress, [undelegateMsg], fee, memo)];
270
- });
271
- });
272
- };
273
- SigningStargateClient.prototype.withdrawRewards = function (delegatorAddress, validatorAddress, fee, memo) {
274
- if (memo === void 0) { memo = ""; }
275
- return __awaiter(this, void 0, void 0, function () {
276
- var withdrawMsg;
277
- return __generator(this, function (_a) {
278
- withdrawMsg = {
279
- typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
280
- value: tx_1.MsgWithdrawDelegatorReward.fromPartial({
281
- delegatorAddress: delegatorAddress,
282
- validatorAddress: validatorAddress,
283
- }),
284
- };
285
- return [2 /*return*/, this.signAndBroadcast(delegatorAddress, [withdrawMsg], fee, memo)];
286
- });
287
- });
288
- };
289
- /**
290
- * @deprecated This API does not support setting the memo field of `MsgTransfer` (only the transaction memo).
291
- * We'll remove this method at some point because trying to wrap the various message types is a losing strategy.
292
- * Please migrate to `signAndBroadcast` with an `MsgTransferEncodeObject` created in the caller code instead.
293
- * @see https://github.com/cosmos/cosmjs/issues/1493
294
- */
295
- SigningStargateClient.prototype.sendIbcTokens = function (senderAddress, recipientAddress, transferAmount, sourcePort, sourceChannel, timeoutHeight,
296
- /** timeout in seconds */
297
- timeoutTimestamp, fee, memo) {
298
- if (memo === void 0) { memo = ""; }
299
- return __awaiter(this, void 0, void 0, function () {
300
- var timeoutTimestampNanoseconds, transferMsg;
301
- return __generator(this, function (_a) {
302
- timeoutTimestampNanoseconds = timeoutTimestamp
303
- ? BigInt(timeoutTimestamp) * BigInt(1000000000)
304
- : undefined;
305
- transferMsg = {
306
- typeUrl: "/ibc.applications.transfer.v1.MsgTransfer",
307
- value: tx_4.MsgTransfer.fromPartial({
308
- sourcePort: sourcePort,
309
- sourceChannel: sourceChannel,
310
- sender: senderAddress,
311
- receiver: recipientAddress,
312
- token: transferAmount,
313
- timeoutHeight: timeoutHeight,
314
- timeoutTimestamp: timeoutTimestampNanoseconds,
315
- }),
316
- };
317
- return [2 /*return*/, this.signAndBroadcast(senderAddress, [transferMsg], fee, memo)];
318
- });
319
- });
320
- };
321
- SigningStargateClient.prototype.signAndBroadcast = function (signerAddress, messages, fee, memo, timeoutHeight) {
322
- if (memo === void 0) { memo = ""; }
323
- return __awaiter(this, void 0, void 0, function () {
324
- var usedFee, gasEstimation, multiplier, txRaw, txBytes;
325
- return __generator(this, function (_a) {
326
- switch (_a.label) {
327
- case 0:
328
- if (!(fee == "auto" || typeof fee === "number")) return [3 /*break*/, 2];
329
- utils_1.assertDefined(this.gasPrice, "Gas price must be set in the client options when auto gas is used.");
330
- return [4 /*yield*/, this.simulate(signerAddress, messages, memo)];
331
- case 1:
332
- gasEstimation = _a.sent();
333
- multiplier = typeof fee === "number" ? fee : this.defaultGasMultiplier;
334
- usedFee = fee_1.calculateFee(Math.round(gasEstimation * multiplier), this.gasPrice);
335
- return [3 /*break*/, 3];
336
- case 2:
337
- usedFee = fee;
338
- _a.label = 3;
339
- case 3: return [4 /*yield*/, this.sign(signerAddress, messages, usedFee, memo, undefined, timeoutHeight)];
340
- case 4:
341
- txRaw = _a.sent();
342
- txBytes = tx_3.TxRaw.encode(txRaw).finish();
343
- return [2 /*return*/, this.broadcastTx(txBytes, this.broadcastTimeoutMs, this.broadcastPollIntervalMs)];
344
- }
345
- });
346
- });
347
- };
348
- /**
349
- * This method is useful if you want to send a transaction in broadcast,
350
- * without waiting for it to be placed inside a block, because for example
351
- * I would like to receive the hash to later track the transaction with another tool.
352
- * @returns Returns the hash of the transaction
353
- */
354
- SigningStargateClient.prototype.signAndBroadcastSync = function (signerAddress, messages, fee, memo, timeoutHeight) {
355
- if (memo === void 0) { memo = ""; }
356
- return __awaiter(this, void 0, void 0, function () {
357
- var usedFee, gasEstimation, multiplier, txRaw, txBytes;
358
- return __generator(this, function (_a) {
359
- switch (_a.label) {
360
- case 0:
361
- if (!(fee == "auto" || typeof fee === "number")) return [3 /*break*/, 2];
362
- utils_1.assertDefined(this.gasPrice, "Gas price must be set in the client options when auto gas is used.");
363
- return [4 /*yield*/, this.simulate(signerAddress, messages, memo)];
364
- case 1:
365
- gasEstimation = _a.sent();
366
- multiplier = typeof fee === "number" ? fee : this.defaultGasMultiplier;
367
- usedFee = fee_1.calculateFee(Math.round(gasEstimation * multiplier), this.gasPrice);
368
- return [3 /*break*/, 3];
369
- case 2:
370
- usedFee = fee;
371
- _a.label = 3;
372
- case 3: return [4 /*yield*/, this.sign(signerAddress, messages, usedFee, memo, undefined, timeoutHeight)];
373
- case 4:
374
- txRaw = _a.sent();
375
- txBytes = tx_3.TxRaw.encode(txRaw).finish();
376
- return [2 /*return*/, this.broadcastTxSync(txBytes)];
377
- }
378
- });
379
- });
380
- };
381
- SigningStargateClient.makeSignDocForSend = function (signerAddress, pubkeyStr, messages, fee, memo, serverUrl, chainId, registry) {
382
- return __awaiter(this, void 0, void 0, function () {
383
- var client, _a, accountNumber, sequence, account, rawSecp256k1Pubkey, pubkey, txBodyEncodeObject, txBodyBytes, gasLimit, feePayer, authInfoBytes;
384
- return __generator(this, function (_b) {
385
- switch (_b.label) {
386
- case 0: return [4 /*yield*/, SigningStargateClient.connect(serverUrl)];
387
- case 1:
388
- client = _b.sent();
389
- return [4 /*yield*/, client.getSequence(signerAddress)];
390
- case 2:
391
- _a = _b.sent(), accountNumber = _a.accountNumber, sequence = _a.sequence;
392
- return [4 /*yield*/, client.getAccount(signerAddress)];
393
- case 3:
394
- account = _b.sent();
395
- if (account == null)
396
- throw new Error("Failed to retrieve account from signer");
397
- rawSecp256k1Pubkey = encoding_1.fromBase64(pubkeyStr);
398
- pubkey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(rawSecp256k1Pubkey));
399
- txBodyEncodeObject = {
400
- typeUrl: "/cosmos.tx.v1beta1.TxBody",
401
- value: {
402
- messages: messages,
403
- memo: memo,
404
- },
405
- };
406
- txBodyBytes = registry.encode(txBodyEncodeObject);
407
- gasLimit = math_1.Int53.fromString(fee.gas).toNumber();
408
- feePayer = signerAddress;
409
- authInfoBytes = proto_signing_1.makeAuthInfoBytes([{ pubkey: pubkey, sequence: sequence }], fee.amount, gasLimit, fee.granter, feePayer);
410
- return [2 /*return*/, proto_signing_1.makeSignDoc(txBodyBytes, authInfoBytes, chainId, accountNumber)];
411
- }
412
- });
413
- });
414
- };
415
- /**
416
- * Gets account number and sequence from the API, creates a sign doc,
417
- * creates a single signature and assembles the signed transaction.
418
- *
419
- * The sign mode (SIGN_MODE_DIRECT or SIGN_MODE_LEGACY_AMINO_JSON) is determined by this client's signer.
420
- *
421
- * You can pass signer data (account number, sequence and chain ID) explicitly instead of querying them
422
- * from the chain. This is needed when signing for a multisig account, but it also allows for offline signing
423
- * (See the SigningStargateClient.offline constructor).
424
- */
425
- SigningStargateClient.prototype.sign = function (signerAddress, messages, fee, memo, explicitSignerData, timeoutHeight) {
426
- return __awaiter(this, void 0, void 0, function () {
427
- var signerData, _a, accountNumber, sequence, chainId;
428
- return __generator(this, function (_b) {
429
- switch (_b.label) {
430
- case 0:
431
- if (!explicitSignerData) return [3 /*break*/, 1];
432
- signerData = explicitSignerData;
433
- return [3 /*break*/, 4];
434
- case 1: return [4 /*yield*/, this.getSequence(signerAddress)];
435
- case 2:
436
- _a = _b.sent(), accountNumber = _a.accountNumber, sequence = _a.sequence;
437
- return [4 /*yield*/, this.getChainId()];
438
- case 3:
439
- chainId = _b.sent();
440
- signerData = {
441
- accountNumber: accountNumber,
442
- sequence: sequence,
443
- chainId: chainId,
444
- };
445
- _b.label = 4;
446
- case 4: return [2 /*return*/, proto_signing_1.isOfflineDirectSigner(this.signer)
447
- ? this.signDirect(signerAddress, messages, fee, memo, signerData, timeoutHeight)
448
- : this.signAmino(signerAddress, messages, fee, memo, signerData, timeoutHeight)];
449
- }
450
- });
451
- });
452
- };
453
- SigningStargateClient.prototype.getChainId = function () {
454
- return __awaiter(this, void 0, void 0, function () {
455
- var response, chainId;
456
- return __generator(this, function (_a) {
457
- switch (_a.label) {
458
- case 0:
459
- if (!!this.chainId) return [3 /*break*/, 2];
460
- return [4 /*yield*/, this.forceGetCometClient().status()];
461
- case 1:
462
- response = _a.sent();
463
- chainId = response.nodeInfo.network;
464
- if (!chainId)
465
- throw new Error("Chain ID must not be empty");
466
- this.chainId = chainId;
467
- _a.label = 2;
468
- case 2: return [2 /*return*/, this.chainId];
469
- }
470
- });
471
- });
472
- };
473
- SigningStargateClient.prototype.signAmino = function (signerAddress, messages, fee, memo, _a, timeoutHeight) {
474
- var accountNumber = _a.accountNumber, sequence = _a.sequence, chainId = _a.chainId;
475
- return __awaiter(this, void 0, void 0, function () {
476
- var accountFromSigner, pubkey, signMode, msgs, signDoc, _b, signature, signed, signedTxBody, signedTxBodyEncodeObject, signedTxBodyBytes, signedGasLimit, signedSequence, signedAuthInfoBytes;
477
- var _this = this;
478
- return __generator(this, function (_c) {
479
- switch (_c.label) {
480
- case 0:
481
- utils_1.assert(!proto_signing_1.isOfflineDirectSigner(this.signer));
482
- return [4 /*yield*/, this.signer.getAccounts()];
483
- case 1:
484
- accountFromSigner = (_c.sent()).find(function (account) { return account.address === signerAddress; });
485
- if (!accountFromSigner) {
486
- throw new Error("Failed to retrieve account from signer");
487
- }
488
- pubkey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(accountFromSigner.pubkey));
489
- signMode = signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON;
490
- msgs = messages.map(function (msg) { return _this.aminoTypes.toAmino(msg); });
491
- signDoc = amino_1.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence, timeoutHeight);
492
- return [4 /*yield*/, this.signer.signAmino(signerAddress, signDoc)];
493
- case 2:
494
- _b = _c.sent(), signature = _b.signature, signed = _b.signed;
495
- signedTxBody = {
496
- messages: signed.msgs.map(function (msg) { return _this.aminoTypes.fromAmino(msg); }),
497
- memo: signed.memo,
498
- timeoutHeight: timeoutHeight,
499
- };
500
- signedTxBodyEncodeObject = {
501
- typeUrl: "/cosmos.tx.v1beta1.TxBody",
502
- value: signedTxBody,
503
- };
504
- signedTxBodyBytes = this.registry.encode(signedTxBodyEncodeObject);
505
- signedGasLimit = math_1.Int53.fromString(signed.fee.gas).toNumber();
506
- signedSequence = math_1.Int53.fromString(signed.sequence).toNumber();
507
- signedAuthInfoBytes = proto_signing_1.makeAuthInfoBytes([{ pubkey: pubkey, sequence: signedSequence }], signed.fee.amount, signedGasLimit, signed.fee.granter, signed.fee.payer, signMode);
508
- return [2 /*return*/, tx_3.TxRaw.fromPartial({
509
- bodyBytes: signedTxBodyBytes,
510
- authInfoBytes: signedAuthInfoBytes,
511
- signatures: [encoding_1.fromBase64(signature.signature)],
512
- })];
513
- }
514
- });
515
- });
516
- };
517
- SigningStargateClient.prototype.signDirect = function (signerAddress, messages, fee, memo, _a, timeoutHeight) {
518
- var accountNumber = _a.accountNumber, sequence = _a.sequence, chainId = _a.chainId;
519
- return __awaiter(this, void 0, void 0, function () {
520
- var accountFromSigner, pubkey, txBodyEncodeObject, txBodyBytes, gasLimit, authInfoBytes, signDoc, _b, signature, signed;
521
- return __generator(this, function (_c) {
522
- switch (_c.label) {
523
- case 0:
524
- utils_1.assert(proto_signing_1.isOfflineDirectSigner(this.signer));
525
- return [4 /*yield*/, this.signer.getAccounts()];
526
- case 1:
527
- accountFromSigner = (_c.sent()).find(function (account) { return account.address === signerAddress; });
528
- if (!accountFromSigner) {
529
- throw new Error("Failed to retrieve account from signer");
530
- }
531
- pubkey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(accountFromSigner.pubkey));
532
- txBodyEncodeObject = {
533
- typeUrl: "/cosmos.tx.v1beta1.TxBody",
534
- value: {
535
- messages: messages,
536
- memo: memo,
537
- timeoutHeight: timeoutHeight,
538
- },
539
- };
540
- txBodyBytes = this.registry.encode(txBodyEncodeObject);
541
- gasLimit = math_1.Int53.fromString(fee.gas).toNumber();
542
- authInfoBytes = proto_signing_1.makeAuthInfoBytes([{ pubkey: pubkey, sequence: sequence }], fee.amount, gasLimit, fee.granter, fee.payer);
543
- signDoc = proto_signing_1.makeSignDoc(txBodyBytes, authInfoBytes, chainId, accountNumber);
544
- return [4 /*yield*/, this.signer.signDirect(signerAddress, signDoc)];
545
- case 2:
546
- _b = _c.sent(), signature = _b.signature, signed = _b.signed;
547
- return [2 /*return*/, tx_3.TxRaw.fromPartial({
548
- bodyBytes: signed.bodyBytes,
549
- authInfoBytes: signed.authInfoBytes,
550
- signatures: [encoding_1.fromBase64(signature.signature)],
551
- })];
552
- }
553
- });
554
- });
555
- };
556
- SigningStargateClient.experimentalAdr36Verify = function (data, checkMsg) {
557
- return __awaiter(this, void 0, void 0, function () {
558
- var newSignature, signed, accountNumber, sequence, chainId, signedMessages, sourceMsg, signatures, signature, signBytes, prehashed, secpSignature, rawSecp256k1Pubkey, rawSignerAddress, ok;
559
- return __generator(this, function (_a) {
560
- switch (_a.label) {
561
- case 0:
562
- newSignature = amino_1.encodeSecp256k1Signature(FirmaUtil_1.FirmaUtil.base64ToArrayBuffer(data.pubkey), FirmaUtil_1.FirmaUtil.base64ToArrayBuffer(data.signature));
563
- signed = {
564
- fee: {
565
- gas: "0",
566
- amount: [],
567
- },
568
- msg: [{
569
- type: data.type,
570
- value: { signer: data.signer, data: data.data }
571
- }],
572
- signatures: [newSignature],
573
- memo: ""
574
- };
575
- // Restrictions from ADR-036
576
- if (signed.memo !== "")
577
- throw new Error("Memo must be empty.");
578
- if (signed.fee.gas !== "0")
579
- throw new Error("Fee gas must 0.");
580
- if (signed.fee.amount.length !== 0)
581
- throw new Error("Fee amount must be an empty array.");
582
- accountNumber = 0;
583
- sequence = 0;
584
- chainId = "";
585
- signedMessages = signed.msg;
586
- if (!signedMessages.every(isMsgSignData)) {
587
- throw new Error("Found message that is not the expected type.");
588
- }
589
- if (signedMessages.length === 0) {
590
- throw new Error("No message found. Without messages we cannot determine the signer address.");
591
- }
592
- sourceMsg = Buffer.from(signedMessages[0].value.data, 'base64').toString();
593
- if (sourceMsg !== checkMsg) {
594
- throw new Error("Different Msg error. source:" + sourceMsg + ", target:" + checkMsg);
595
- }
596
- signatures = signed.signatures;
597
- if (signatures.length !== 1)
598
- throw new Error("Must have exactly one signature to be supported.");
599
- signature = signatures[0];
600
- if (!amino_1.isSecp256k1Pubkey(signature.pub_key)) {
601
- throw new Error("Only secp256k1 signatures are supported.");
602
- }
603
- signBytes = amino_1.serializeSignDoc(amino_1.makeSignDoc(signed.msg, signed.fee, chainId, signed.memo, accountNumber, sequence));
604
- prehashed = crypto_1.sha256(signBytes);
605
- secpSignature = crypto_1.Secp256k1Signature.fromFixedLength(encoding_1.fromBase64(signature.signature));
606
- rawSecp256k1Pubkey = encoding_1.fromBase64(signature.pub_key.value);
607
- rawSignerAddress = amino_1.rawSecp256k1PubkeyToRawAddress(rawSecp256k1Pubkey);
608
- if (signedMessages.some(function (msg) { return !utils_1.arrayContentEquals(encoding_1.fromBech32(msg.value.signer).data, rawSignerAddress); })) {
609
- throw new Error("Found mismatch between signer in message and public key");
610
- }
611
- return [4 /*yield*/, crypto_1.Secp256k1.verifySignature(secpSignature, prehashed, rawSecp256k1Pubkey)];
612
- case 1:
613
- ok = _a.sent();
614
- return [2 /*return*/, ok];
615
- }
616
- });
617
- });
618
- };
619
- SigningStargateClient.prototype.experimentalAdr36Sign = function (signerAddress, data) {
620
- return __awaiter(this, void 0, void 0, function () {
621
- var accountNumber, sequence, chainId, fee, memo, datas, msgs, accountFromSigner, signDoc, _a, signature, signed, signatureResult, decodeData, jsonData;
622
- return __generator(this, function (_b) {
623
- switch (_b.label) {
624
- case 0:
625
- accountNumber = 0;
626
- sequence = 0;
627
- chainId = "";
628
- fee = {
629
- gas: "0",
630
- amount: [],
631
- //granter: "" // added by DH
632
- };
633
- memo = "";
634
- datas = Array.isArray(data) ? data : [data];
635
- msgs = datas.map(function (d) { return ({
636
- type: "sign/MsgSignData",
637
- value: {
638
- signer: signerAddress,
639
- data: encoding_1.toBase64(d),
640
- },
641
- }); });
642
- return [4 /*yield*/, this.signer.getAccounts()];
643
- case 1:
644
- accountFromSigner = (_b.sent()).find(function (account) { return account.address === signerAddress; });
645
- if (!accountFromSigner) {
646
- throw new Error("Failed to retrieve account from signer");
647
- }
648
- if (!("signAmino" in this.signer)) {
649
- throw new Error("The signer does not support signAmino. Please use an OfflineAminoSigner instance.");
650
- }
651
- signDoc = amino_1.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence);
652
- return [4 /*yield*/, this.signer.signAmino(signerAddress, signDoc)];
653
- case 2:
654
- _a = _b.sent(), signature = _a.signature, signed = _a.signed;
655
- if (!fast_deep_equal_1.default(signDoc, signed)) {
656
- throw new Error("The signed document differs from the signing instruction. This is not supported for ADR-036.");
657
- }
658
- signatureResult = amino_1.makeStdTx(signDoc, signature);
659
- decodeData = amino_1.decodeSignature(signatureResult.signatures[0]);
660
- jsonData = {
661
- type: "sign/MsgSignData",
662
- signer: signatureResult.msg[0].value.signer,
663
- data: signatureResult.msg[0].value.data,
664
- pubkey: FirmaUtil_1.FirmaUtil.arrayBufferToBase64(decodeData.pubkey),
665
- signature: FirmaUtil_1.FirmaUtil.arrayBufferToBase64(decodeData.signature)
666
- };
667
- return [2 /*return*/, jsonData];
668
- }
669
- });
670
- });
671
- };
672
- return SigningStargateClient;
673
- }(stargateclient_1.StargateClient));
674
- exports.SigningStargateClient = SigningStargateClient;