@firmachain/firma-js 0.2.18 → 0.2.22

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 (157) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +136 -136
  3. package/dist/index.d.ts +4 -4
  4. package/dist/index.js +16 -16
  5. package/dist/sdk/FirmaBankService.d.ts +15 -15
  6. package/dist/sdk/FirmaBankService.js +211 -211
  7. package/dist/sdk/FirmaChainService.d.ts +8 -8
  8. package/dist/sdk/FirmaChainService.js +86 -86
  9. package/dist/sdk/FirmaConfig.d.ts +18 -16
  10. package/dist/sdk/FirmaConfig.js +63 -55
  11. package/dist/sdk/FirmaContractService.d.ts +31 -30
  12. package/dist/sdk/FirmaContractService.js +413 -394
  13. package/dist/sdk/FirmaDistributionService.d.ts +31 -31
  14. package/dist/sdk/FirmaDistributionService.js +524 -524
  15. package/dist/sdk/FirmaFeeGrantService.d.ts +21 -21
  16. package/dist/sdk/FirmaFeeGrantService.js +341 -341
  17. package/dist/sdk/FirmaGovService.d.ts +35 -35
  18. package/dist/sdk/FirmaGovService.js +775 -775
  19. package/dist/sdk/FirmaIpfsService.d.ts +12 -12
  20. package/dist/sdk/FirmaIpfsService.js +185 -185
  21. package/dist/sdk/FirmaMobileSDK.d.ts +27 -27
  22. package/dist/sdk/FirmaMobileSDK.js +45 -45
  23. package/dist/sdk/FirmaNftService.d.ts +31 -28
  24. package/dist/sdk/FirmaNftService.js +372 -390
  25. package/dist/sdk/FirmaSDK.d.ts +29 -29
  26. package/dist/sdk/FirmaSDK.js +48 -48
  27. package/dist/sdk/FirmaSlashingService.d.ts +9 -9
  28. package/dist/sdk/FirmaSlashingService.js +105 -105
  29. package/dist/sdk/FirmaStakingService.d.ts +34 -34
  30. package/dist/sdk/FirmaStakingService.js +604 -604
  31. package/dist/sdk/FirmaTokenService.d.ts +26 -26
  32. package/dist/sdk/FirmaTokenService.js +416 -416
  33. package/dist/sdk/FirmaUtil.d.ts +35 -25
  34. package/dist/sdk/FirmaUtil.js +226 -201
  35. package/dist/sdk/FirmaWalletService.d.ts +36 -40
  36. package/dist/sdk/FirmaWalletService.js +309 -309
  37. package/dist/sdk/firmachain/amino/addresses.d.ts +5 -5
  38. package/dist/sdk/firmachain/amino/addresses.js +46 -46
  39. package/dist/sdk/firmachain/amino/aminomsgs.d.ts +281 -281
  40. package/dist/sdk/firmachain/amino/aminomsgs.js +77 -77
  41. package/dist/sdk/firmachain/amino/aminotypes.d.ts +22 -22
  42. package/dist/sdk/firmachain/amino/aminotypes.js +521 -521
  43. package/dist/sdk/firmachain/amino/coins.d.ts +30 -30
  44. package/dist/sdk/firmachain/amino/coins.js +69 -69
  45. package/dist/sdk/firmachain/amino/encoding.d.ts +24 -24
  46. package/dist/sdk/firmachain/amino/encoding.js +234 -234
  47. package/dist/sdk/firmachain/amino/multisig.d.ts +10 -10
  48. package/dist/sdk/firmachain/amino/multisig.js +42 -42
  49. package/dist/sdk/firmachain/amino/paths.d.ts +6 -6
  50. package/dist/sdk/firmachain/amino/paths.js +18 -18
  51. package/dist/sdk/firmachain/amino/pubkeys.d.ts +47 -47
  52. package/dist/sdk/firmachain/amino/pubkeys.js +29 -29
  53. package/dist/sdk/firmachain/amino/secp256k1hdwallet.d.ts +94 -94
  54. package/dist/sdk/firmachain/amino/secp256k1hdwallet.js +437 -437
  55. package/dist/sdk/firmachain/amino/secp256k1wallet.d.ts +23 -23
  56. package/dist/sdk/firmachain/amino/secp256k1wallet.js +141 -141
  57. package/dist/sdk/firmachain/amino/signature.d.ts +16 -16
  58. package/dist/sdk/firmachain/amino/signature.js +36 -36
  59. package/dist/sdk/firmachain/amino/signdoc.d.ts +26 -26
  60. package/dist/sdk/firmachain/amino/signdoc.js +42 -42
  61. package/dist/sdk/firmachain/amino/signer.d.ts +33 -33
  62. package/dist/sdk/firmachain/amino/signer.js +2 -2
  63. package/dist/sdk/firmachain/amino/stdtx.d.ts +15 -15
  64. package/dist/sdk/firmachain/amino/stdtx.js +17 -17
  65. package/dist/sdk/firmachain/amino/wallet.d.ts +32 -32
  66. package/dist/sdk/firmachain/amino/wallet.js +132 -132
  67. package/dist/sdk/firmachain/bank/BankQueryClient.d.ts +12 -12
  68. package/dist/sdk/firmachain/bank/BankQueryClient.js +116 -116
  69. package/dist/sdk/firmachain/bank/BankTxClient.d.ts +17 -17
  70. package/dist/sdk/firmachain/bank/BankTxClient.js +40 -40
  71. package/dist/sdk/firmachain/bank/index.d.ts +3 -3
  72. package/dist/sdk/firmachain/bank/index.js +15 -15
  73. package/dist/sdk/firmachain/common/ITxClient.d.ts +15 -15
  74. package/dist/sdk/firmachain/common/ITxClient.js +102 -102
  75. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.d.ts +27 -27
  76. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.js +165 -165
  77. package/dist/sdk/firmachain/common/LedgerWallet.d.ts +14 -9
  78. package/dist/sdk/firmachain/common/LedgerWallet.js +147 -150
  79. package/dist/sdk/firmachain/common/QueryCommon.d.ts +4 -4
  80. package/dist/sdk/firmachain/common/QueryCommon.js +2 -2
  81. package/dist/sdk/firmachain/common/TendermintQueryClient.d.ts +42 -42
  82. package/dist/sdk/firmachain/common/TendermintQueryClient.js +108 -108
  83. package/dist/sdk/firmachain/common/TxCommon.d.ts +87 -94
  84. package/dist/sdk/firmachain/common/TxCommon.js +18 -34
  85. package/dist/sdk/firmachain/common/accounts.d.ts +16 -16
  86. package/dist/sdk/firmachain/common/accounts.js +64 -64
  87. package/dist/sdk/firmachain/common/index.d.ts +2 -2
  88. package/dist/sdk/firmachain/common/index.js +14 -14
  89. package/dist/sdk/firmachain/common/signing.d.ts +10 -10
  90. package/dist/sdk/firmachain/common/signing.js +75 -75
  91. package/dist/sdk/firmachain/common/signingstargateclient.d.ts +37 -37
  92. package/dist/sdk/firmachain/common/signingstargateclient.js +298 -298
  93. package/dist/sdk/firmachain/common/stargateclient.d.ts +46 -46
  94. package/dist/sdk/firmachain/common/stargateclient.js +211 -211
  95. package/dist/sdk/firmachain/contract/ContractQueryClient.d.ts +32 -31
  96. package/dist/sdk/firmachain/contract/ContractQueryClient.js +156 -141
  97. package/dist/sdk/firmachain/contract/ContractTxClient.d.ts +17 -17
  98. package/dist/sdk/firmachain/contract/ContractTxClient.js +40 -40
  99. package/dist/sdk/firmachain/contract/ContractTxTypes.d.ts +69 -69
  100. package/dist/sdk/firmachain/contract/ContractTxTypes.js +483 -483
  101. package/dist/sdk/firmachain/contract/index.d.ts +3 -3
  102. package/dist/sdk/firmachain/contract/index.js +15 -15
  103. package/dist/sdk/firmachain/distribution/DistributionQueryClient.d.ts +18 -18
  104. package/dist/sdk/firmachain/distribution/DistributionQueryClient.js +167 -167
  105. package/dist/sdk/firmachain/distribution/DistributionTxClient.d.ts +27 -27
  106. package/dist/sdk/firmachain/distribution/DistributionTxClient.js +48 -48
  107. package/dist/sdk/firmachain/distribution/index.d.ts +3 -3
  108. package/dist/sdk/firmachain/distribution/index.js +15 -15
  109. package/dist/sdk/firmachain/feegrant/FeeGrantQueryClient.d.ts +17 -17
  110. package/dist/sdk/firmachain/feegrant/FeeGrantQueryClient.js +86 -86
  111. package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.d.ts +17 -17
  112. package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.js +40 -40
  113. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +76 -76
  114. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.js +194 -194
  115. package/dist/sdk/firmachain/feegrant/index.d.ts +2 -2
  116. package/dist/sdk/firmachain/feegrant/index.js +15 -15
  117. package/dist/sdk/firmachain/google/protobuf/any.d.ts +128 -128
  118. package/dist/sdk/firmachain/google/protobuf/any.js +106 -106
  119. package/dist/sdk/firmachain/google/protobuf/descriptor.d.ts +996 -996
  120. package/dist/sdk/firmachain/google/protobuf/descriptor.js +5329 -5329
  121. package/dist/sdk/firmachain/google/protobuf/duration.d.ts +91 -91
  122. package/dist/sdk/firmachain/google/protobuf/duration.js +107 -107
  123. package/dist/sdk/firmachain/google/protobuf/timestamp.d.ts +109 -109
  124. package/dist/sdk/firmachain/google/protobuf/timestamp.js +107 -107
  125. package/dist/sdk/firmachain/gov/GovQueryClient.d.ts +61 -61
  126. package/dist/sdk/firmachain/gov/GovQueryClient.js +152 -152
  127. package/dist/sdk/firmachain/gov/GovTxClient.d.ts +22 -22
  128. package/dist/sdk/firmachain/gov/GovTxClient.js +44 -44
  129. package/dist/sdk/firmachain/gov/index.d.ts +3 -3
  130. package/dist/sdk/firmachain/gov/index.js +15 -15
  131. package/dist/sdk/firmachain/nft/NftQueryClient.d.ts +20 -17
  132. package/dist/sdk/firmachain/nft/NftQueryClient.js +125 -121
  133. package/dist/sdk/firmachain/nft/NftTxClient.d.ts +22 -22
  134. package/dist/sdk/firmachain/nft/NftTxClient.js +44 -44
  135. package/dist/sdk/firmachain/nft/NftTxTypes.d.ts +86 -86
  136. package/dist/sdk/firmachain/nft/NftTxTypes.js +424 -424
  137. package/dist/sdk/firmachain/nft/index.d.ts +3 -3
  138. package/dist/sdk/firmachain/nft/index.js +15 -15
  139. package/dist/sdk/firmachain/slashing/SlashingQueryClient.d.ts +22 -22
  140. package/dist/sdk/firmachain/slashing/SlashingQueryClient.js +101 -101
  141. package/dist/sdk/firmachain/slashing/index.d.ts +2 -2
  142. package/dist/sdk/firmachain/slashing/index.js +14 -14
  143. package/dist/sdk/firmachain/staking/StakingQueryClient.d.ts +93 -93
  144. package/dist/sdk/firmachain/staking/StakingQueryClient.js +223 -223
  145. package/dist/sdk/firmachain/staking/StakingTxClient.d.ts +32 -32
  146. package/dist/sdk/firmachain/staking/StakingTxClient.js +52 -52
  147. package/dist/sdk/firmachain/staking/index.d.ts +3 -3
  148. package/dist/sdk/firmachain/staking/index.js +15 -15
  149. package/dist/sdk/firmachain/token/TokenQueryClient.d.ts +24 -24
  150. package/dist/sdk/firmachain/token/TokenQueryClient.js +106 -106
  151. package/dist/sdk/firmachain/token/TokenTxClient.d.ts +27 -27
  152. package/dist/sdk/firmachain/token/TokenTxClient.js +48 -48
  153. package/dist/sdk/firmachain/token/TokenTxTypes.d.ts +116 -116
  154. package/dist/sdk/firmachain/token/TokenTxTypes.js +685 -685
  155. package/dist/sdk/firmachain/token/index.d.ts +3 -3
  156. package/dist/sdk/firmachain/token/index.js +15 -15
  157. package/package.json +54 -54
@@ -1,150 +1,147 @@
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
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
55
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
56
- to[j] = from[i];
57
- return to;
58
- };
59
- var __importDefault = (this && this.__importDefault) || function (mod) {
60
- return (mod && mod.__esModule) ? mod : { "default": mod };
61
- };
62
- Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.signFromLedger = void 0;
64
- var proto_signing_1 = require("@cosmjs/proto-signing");
65
- var tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
66
- var long_1 = __importDefault(require("long"));
67
- var math_1 = require("@cosmjs/math");
68
- var encoding_1 = require("@cosmjs/encoding");
69
- var aminotypes_1 = require("../amino/aminotypes");
70
- var signdoc_1 = require("../amino/signdoc");
71
- var encoding_2 = require("../amino/encoding");
72
- var signdoc_2 = require("../amino/signdoc");
73
- var encoding_3 = require("@cosmjs/encoding");
74
- var signing_1 = require("cosmjs-types/cosmos/tx/signing/v1beta1/signing");
75
- var tx_2 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
76
- var FirmaUtil_1 = require("../../FirmaUtil");
77
- function makeSignerInfos(signers, signMode) {
78
- return signers.map(function (_a) {
79
- var pubkey = _a.pubkey, sequence = _a.sequence;
80
- return ({
81
- publicKey: pubkey,
82
- modeInfo: {
83
- single: { mode: signMode },
84
- },
85
- sequence: long_1.default.fromNumber(sequence),
86
- });
87
- });
88
- }
89
- function makeAuthInfoBytes(signers, feeAmount, gasLimit, granter, signMode) {
90
- if (signMode === void 0) { signMode = signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON; }
91
- var authInfo = {
92
- signerInfos: makeSignerInfos(signers, signMode),
93
- fee: {
94
- amount: __spreadArray([], __read(feeAmount)),
95
- gasLimit: long_1.default.fromNumber(gasLimit),
96
- granter: granter,
97
- },
98
- };
99
- return tx_1.AuthInfo.encode(tx_1.AuthInfo.fromPartial(authInfo)).finish();
100
- }
101
- function signFromLedger(ledger, messages, option, registry) {
102
- return __awaiter(this, void 0, void 0, function () {
103
- var address, signerData, publicKey, pubkey, aminoTypes, msgs, chainId, accountNumber, sequence, memo, fee, signDoc, signMessage, ledgerSignature, signedTxBody, signedTxBodyEncodeObject, signedTxBodyBytes, signedGasLimit, signedAuthInfoBytes, txRaw;
104
- return __generator(this, function (_a) {
105
- switch (_a.label) {
106
- case 0: return [4 /*yield*/, ledger.getAddress()];
107
- case 1:
108
- address = _a.sent();
109
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getSignerDataForLedger(address)];
110
- case 2:
111
- signerData = _a.sent();
112
- return [4 /*yield*/, ledger.getPublicKey()];
113
- case 3:
114
- publicKey = _a.sent();
115
- pubkey = proto_signing_1.encodePubkey(encoding_2.encodeSecp256k1Pubkey(publicKey));
116
- aminoTypes = new aminotypes_1.AminoTypes({});
117
- msgs = messages.map(function (msg) { return aminoTypes.toAmino(msg); });
118
- chainId = signerData.chain_id;
119
- accountNumber = Number.parseInt(signerData.account_number);
120
- sequence = Number.parseInt(signerData.sequence);
121
- memo = option.memo;
122
- fee = { amount: option.fee.amount, gas: option.fee.gas };
123
- signDoc = signdoc_2.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence);
124
- signMessage = signdoc_1.serializeSignDoc(signDoc);
125
- return [4 /*yield*/, ledger.sign(encoding_3.fromUtf8(signMessage))];
126
- case 4:
127
- ledgerSignature = _a.sent();
128
- ;
129
- signedTxBody = {
130
- messages: signDoc.msgs.map(function (msg) { return aminoTypes.fromAmino(msg); }),
131
- memo: memo,
132
- };
133
- signedTxBodyEncodeObject = {
134
- typeUrl: "/cosmos.tx.v1beta1.TxBody",
135
- value: signedTxBody,
136
- };
137
- signedTxBodyBytes = registry.encode(signedTxBodyEncodeObject);
138
- signedGasLimit = math_1.Int53.fromString(option.fee.gas).toNumber();
139
- signedAuthInfoBytes = makeAuthInfoBytes([{ pubkey: pubkey, sequence: sequence }], option.fee.amount, signedGasLimit, option.fee.granter, signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON);
140
- txRaw = tx_2.TxRaw.fromPartial({
141
- bodyBytes: signedTxBodyBytes,
142
- authInfoBytes: signedAuthInfoBytes,
143
- signatures: [encoding_1.fromBase64(Buffer.from(ledgerSignature).toString('base64'))],
144
- });
145
- return [2 /*return*/, txRaw];
146
- }
147
- });
148
- });
149
- }
150
- exports.signFromLedger = signFromLedger;
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
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
55
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
56
+ to[j] = from[i];
57
+ return to;
58
+ };
59
+ var __importDefault = (this && this.__importDefault) || function (mod) {
60
+ return (mod && mod.__esModule) ? mod : { "default": mod };
61
+ };
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.signFromLedger = void 0;
64
+ var proto_signing_1 = require("@cosmjs/proto-signing");
65
+ var tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
66
+ var long_1 = __importDefault(require("long"));
67
+ var math_1 = require("@cosmjs/math");
68
+ var encoding_1 = require("@cosmjs/encoding");
69
+ var aminotypes_1 = require("../amino/aminotypes");
70
+ var signdoc_1 = require("../amino/signdoc");
71
+ var encoding_2 = require("../amino/encoding");
72
+ var signdoc_2 = require("../amino/signdoc");
73
+ var encoding_3 = require("@cosmjs/encoding");
74
+ var signing_1 = require("cosmjs-types/cosmos/tx/signing/v1beta1/signing");
75
+ var tx_2 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
76
+ var FirmaUtil_1 = require("../../FirmaUtil");
77
+ function makeSignerInfos(signers, signMode) {
78
+ return signers.map(function (_a) {
79
+ var pubkey = _a.pubkey, sequence = _a.sequence;
80
+ return ({
81
+ publicKey: pubkey,
82
+ modeInfo: {
83
+ single: { mode: signMode },
84
+ },
85
+ sequence: long_1.default.fromNumber(sequence),
86
+ });
87
+ });
88
+ }
89
+ function makeAuthInfoBytes(signers, feeAmount, gasLimit, granter, signMode) {
90
+ if (signMode === void 0) { signMode = signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON; }
91
+ var authInfo = {
92
+ signerInfos: makeSignerInfos(signers, signMode),
93
+ fee: {
94
+ amount: __spreadArray([], __read(feeAmount)),
95
+ gasLimit: long_1.default.fromNumber(gasLimit),
96
+ granter: granter,
97
+ },
98
+ };
99
+ return tx_1.AuthInfo.encode(tx_1.AuthInfo.fromPartial(authInfo)).finish();
100
+ }
101
+ function signFromLedger(ledger, messages, option, registry) {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var _a, address, publicKey, signerData, pubkey, aminoTypes, msgs, chainId, accountNumber, sequence, memo, fee, signDoc, signMessage, ledgerSignature, signedTxBody, signedTxBodyEncodeObject, signedTxBodyBytes, signedGasLimit, signedAuthInfoBytes, txRaw;
104
+ return __generator(this, function (_b) {
105
+ switch (_b.label) {
106
+ case 0: return [4 /*yield*/, ledger.getAddressAndPublicKey()];
107
+ case 1:
108
+ _a = _b.sent(), address = _a.address, publicKey = _a.publicKey;
109
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getSignerDataForLedger(address)];
110
+ case 2:
111
+ signerData = _b.sent();
112
+ pubkey = proto_signing_1.encodePubkey(encoding_2.encodeSecp256k1Pubkey(publicKey));
113
+ aminoTypes = new aminotypes_1.AminoTypes({});
114
+ msgs = messages.map(function (msg) { return aminoTypes.toAmino(msg); });
115
+ chainId = signerData.chain_id;
116
+ accountNumber = Number.parseInt(signerData.account_number);
117
+ sequence = Number.parseInt(signerData.sequence);
118
+ memo = option.memo;
119
+ fee = { amount: option.fee.amount, gas: option.fee.gas };
120
+ signDoc = signdoc_2.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence);
121
+ signMessage = signdoc_1.serializeSignDoc(signDoc);
122
+ return [4 /*yield*/, ledger.sign(encoding_3.fromUtf8(signMessage))];
123
+ case 3:
124
+ ledgerSignature = _b.sent();
125
+ ;
126
+ signedTxBody = {
127
+ messages: signDoc.msgs.map(function (msg) { return aminoTypes.fromAmino(msg); }),
128
+ memo: memo,
129
+ };
130
+ signedTxBodyEncodeObject = {
131
+ typeUrl: "/cosmos.tx.v1beta1.TxBody",
132
+ value: signedTxBody,
133
+ };
134
+ signedTxBodyBytes = registry.encode(signedTxBodyEncodeObject);
135
+ signedGasLimit = math_1.Int53.fromString(option.fee.gas).toNumber();
136
+ signedAuthInfoBytes = makeAuthInfoBytes([{ pubkey: pubkey, sequence: sequence }], option.fee.amount, signedGasLimit, option.fee.granter, signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON);
137
+ txRaw = tx_2.TxRaw.fromPartial({
138
+ bodyBytes: signedTxBodyBytes,
139
+ authInfoBytes: signedAuthInfoBytes,
140
+ signatures: [encoding_1.fromBase64(Buffer.from(ledgerSignature).toString('base64'))],
141
+ });
142
+ return [2 /*return*/, txRaw];
143
+ }
144
+ });
145
+ });
146
+ }
147
+ exports.signFromLedger = signFromLedger;
@@ -1,4 +1,4 @@
1
- export interface Pagination {
2
- next_key: string;
3
- total: number;
4
- }
1
+ export interface Pagination {
2
+ next_key: string;
3
+ total: number;
4
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,42 +1,42 @@
1
- export interface ChainSyncInfo {
2
- latest_block_hash: string;
3
- latest_app_hash: string;
4
- latest_block_height: string;
5
- latest_block_time: string;
6
- earliest_block_hash: string;
7
- earliest_app_hash: string;
8
- earliest_block_height: string;
9
- earliest_block_time: string;
10
- catching_up: boolean;
11
- }
12
- export interface TransactionEvent {
13
- type: string;
14
- attributes: {
15
- key: string;
16
- value: string;
17
- index: boolean;
18
- }[];
19
- }
20
- export interface TransactionHash {
21
- hash: string;
22
- height: string;
23
- index: number;
24
- tx_result: {
25
- code: number;
26
- data: string;
27
- log: string;
28
- info: string;
29
- gas_wanted: string;
30
- gas_used: string;
31
- events: TransactionEvent[];
32
- codespace: string;
33
- };
34
- tx: string;
35
- }
36
- export declare class TendermintQueryClient {
37
- private readonly axios;
38
- constructor(baseUrl: string);
39
- queryEstimateGas(hexTx: string): Promise<number>;
40
- queryChainSyncInfo(): Promise<ChainSyncInfo>;
41
- queryTransactionHash(txHash: string): Promise<TransactionHash>;
42
- }
1
+ export interface ChainSyncInfo {
2
+ latest_block_hash: string;
3
+ latest_app_hash: string;
4
+ latest_block_height: string;
5
+ latest_block_time: string;
6
+ earliest_block_hash: string;
7
+ earliest_app_hash: string;
8
+ earliest_block_height: string;
9
+ earliest_block_time: string;
10
+ catching_up: boolean;
11
+ }
12
+ export interface TransactionEvent {
13
+ type: string;
14
+ attributes: {
15
+ key: string;
16
+ value: string;
17
+ index: boolean;
18
+ }[];
19
+ }
20
+ export interface TransactionHash {
21
+ hash: string;
22
+ height: string;
23
+ index: number;
24
+ tx_result: {
25
+ code: number;
26
+ data: string;
27
+ log: string;
28
+ info: string;
29
+ gas_wanted: string;
30
+ gas_used: string;
31
+ events: TransactionEvent[];
32
+ codespace: string;
33
+ };
34
+ tx: string;
35
+ }
36
+ export declare class TendermintQueryClient {
37
+ private readonly axios;
38
+ constructor(baseUrl: string);
39
+ queryEstimateGas(hexTx: string): Promise<number>;
40
+ queryChainSyncInfo(): Promise<ChainSyncInfo>;
41
+ queryTransactionHash(txHash: string): Promise<TransactionHash>;
42
+ }
@@ -1,108 +1,108 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.TendermintQueryClient = void 0;
43
- var axios_1 = __importDefault(require("axios"));
44
- var TendermintQueryClient = /** @class */ (function () {
45
- function TendermintQueryClient(baseUrl) {
46
- this.axios = axios_1.default.create({
47
- baseURL: baseUrl,
48
- headers: {
49
- Accept: "application/json",
50
- },
51
- timeout: 15000,
52
- });
53
- }
54
- TendermintQueryClient.prototype.queryEstimateGas = function (hexTx) {
55
- return __awaiter(this, void 0, void 0, function () {
56
- var path, result, data, jsonString, jsonData;
57
- return __generator(this, function (_a) {
58
- switch (_a.label) {
59
- case 0:
60
- path = "/abci_query?path=\"app/simulate\"";
61
- return [4 /*yield*/, this.axios.get(path, { params: { data: hexTx } })];
62
- case 1:
63
- result = _a.sent();
64
- data = result.data.result.response.value;
65
- jsonString = Buffer.from(data, "base64").toString("utf8");
66
- jsonData = JSON.parse(jsonString);
67
- return [2 /*return*/, Number.parseInt(jsonData.gas_info.gas_used)];
68
- }
69
- });
70
- });
71
- };
72
- TendermintQueryClient.prototype.queryChainSyncInfo = function () {
73
- return __awaiter(this, void 0, void 0, function () {
74
- var path, result;
75
- return __generator(this, function (_a) {
76
- switch (_a.label) {
77
- case 0:
78
- path = "/status";
79
- return [4 /*yield*/, this.axios.get(path)];
80
- case 1:
81
- result = _a.sent();
82
- return [2 /*return*/, result.data.result.sync_info];
83
- }
84
- });
85
- });
86
- };
87
- TendermintQueryClient.prototype.queryTransactionHash = function (txHash) {
88
- return __awaiter(this, void 0, void 0, function () {
89
- var path, result;
90
- return __generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0:
93
- path = "/tx?hash=" + txHash;
94
- return [4 /*yield*/, this.axios.get(path)];
95
- case 1:
96
- result = _a.sent();
97
- return [2 /*return*/, result.data.result];
98
- }
99
- });
100
- });
101
- };
102
- return TendermintQueryClient;
103
- }());
104
- exports.TendermintQueryClient = TendermintQueryClient;
105
- // https://imperium-lcd.firmachain.org:26657/abci_query?path=%22app/simulate%22&data=0x0a9b010a8d010a1c2f636f736d6f732e62616e6b2e763162657461312e4d736753656e64126d0a2c6669726d6131747271796c65396d326e7679616663326e323566726b70776564323530347936617667667a72122c6669726d6131306e65336e77346b63666a36766a7a38346c326d33676a38767961637a66686d6135666636391a0f0a0475666374120731303030303030120974657374206d656d6f12670a510a460a1f2f636f736d6f732e63727970746f2e736563703235366b312e5075624b657912230a21027b57273b1d23a87862c6a47f214d77b6144b552498c2dff9e9368551b4e08a8c12040a02080118e60412120a0c0a047566637412043230303010c09a0c1a40ce1072ff09660c80595b7ff2fec36062ebcf8fde88947f1fa3f6cb5ff808edba04fcf584f81ce52e5ec9be6724759fb58a411a17ed2816210f4df5b811117e4c
106
- // 6669726d613177613375346b6e773734723539387175767a7964766361343271736d6b366a727667716e3779
107
- // curl 'http://0.0.0.0:26657/abci_query?path="/store/acc/key"&data=0x6669726d6131383934767470336461756d737a70397a36306564657074736a786a6667656d656a73646b3277'
108
- // curl 'http://0.0.0.0:26657/abci_query?path="/account/tbnb1hn8ym9xht925jkncjpf7lhjnax6z8nv2mu9wy3'
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TendermintQueryClient = void 0;
43
+ var axios_1 = __importDefault(require("axios"));
44
+ var TendermintQueryClient = /** @class */ (function () {
45
+ function TendermintQueryClient(baseUrl) {
46
+ this.axios = axios_1.default.create({
47
+ baseURL: baseUrl,
48
+ headers: {
49
+ Accept: "application/json",
50
+ },
51
+ timeout: 15000,
52
+ });
53
+ }
54
+ TendermintQueryClient.prototype.queryEstimateGas = function (hexTx) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var path, result, data, jsonString, jsonData;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ path = "/abci_query?path=\"app/simulate\"";
61
+ return [4 /*yield*/, this.axios.get(path, { params: { data: hexTx } })];
62
+ case 1:
63
+ result = _a.sent();
64
+ data = result.data.result.response.value;
65
+ jsonString = Buffer.from(data, "base64").toString("utf8");
66
+ jsonData = JSON.parse(jsonString);
67
+ return [2 /*return*/, Number.parseInt(jsonData.gas_info.gas_used)];
68
+ }
69
+ });
70
+ });
71
+ };
72
+ TendermintQueryClient.prototype.queryChainSyncInfo = function () {
73
+ return __awaiter(this, void 0, void 0, function () {
74
+ var path, result;
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ path = "/status";
79
+ return [4 /*yield*/, this.axios.get(path)];
80
+ case 1:
81
+ result = _a.sent();
82
+ return [2 /*return*/, result.data.result.sync_info];
83
+ }
84
+ });
85
+ });
86
+ };
87
+ TendermintQueryClient.prototype.queryTransactionHash = function (txHash) {
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ var path, result;
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0:
93
+ path = "/tx?hash=" + txHash;
94
+ return [4 /*yield*/, this.axios.get(path)];
95
+ case 1:
96
+ result = _a.sent();
97
+ return [2 /*return*/, result.data.result];
98
+ }
99
+ });
100
+ });
101
+ };
102
+ return TendermintQueryClient;
103
+ }());
104
+ exports.TendermintQueryClient = TendermintQueryClient;
105
+ // https://imperium-lcd.firmachain.org:26657/abci_query?path=%22app/simulate%22&data=0x0a9b010a8d010a1c2f636f736d6f732e62616e6b2e763162657461312e4d736753656e64126d0a2c6669726d6131747271796c65396d326e7679616663326e323566726b70776564323530347936617667667a72122c6669726d6131306e65336e77346b63666a36766a7a38346c326d33676a38767961637a66686d6135666636391a0f0a0475666374120731303030303030120974657374206d656d6f12670a510a460a1f2f636f736d6f732e63727970746f2e736563703235366b312e5075624b657912230a21027b57273b1d23a87862c6a47f214d77b6144b552498c2dff9e9368551b4e08a8c12040a02080118e60412120a0c0a047566637412043230303010c09a0c1a40ce1072ff09660c80595b7ff2fec36062ebcf8fde88947f1fa3f6cb5ff808edba04fcf584f81ce52e5ec9be6724759fb58a411a17ed2816210f4df5b811117e4c
106
+ // 6669726d613177613375346b6e773734723539387175767a7964766361343271736d6b366a727667716e3779
107
+ // curl 'http://0.0.0.0:26657/abci_query?path="/store/acc/key"&data=0x6669726d6131383934767470336461756d737a70397a36306564657074736a786a6667656d656a73646b3277'
108
+ // curl 'http://0.0.0.0:26657/abci_query?path="/account/tbnb1hn8ym9xht925jkncjpf7lhjnax6z8nv2mu9wy3'