@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,23 +1,23 @@
1
- import { StdSignDoc } from "./signdoc";
2
- import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer";
3
- /**
4
- * A wallet that holds a single secp256k1 keypair.
5
- *
6
- * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet.
7
- */
8
- export declare class Secp256k1Wallet implements OfflineAminoSigner {
9
- /**
10
- * Creates a Secp256k1Wallet from the given private key
11
- *
12
- * @param privkey The private key.
13
- * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos".
14
- */
15
- static fromKey(privkey: Uint8Array, prefix?: string): Promise<Secp256k1Wallet>;
16
- private readonly pubkey;
17
- private readonly privkey;
18
- private readonly prefix;
19
- private constructor();
20
- private get address();
21
- getAccounts(): Promise<readonly AccountData[]>;
22
- signAmino(signerAddress: string, signDoc: StdSignDoc): Promise<AminoSignResponse>;
23
- }
1
+ import { StdSignDoc } from "./signdoc";
2
+ import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer";
3
+ /**
4
+ * A wallet that holds a single secp256k1 keypair.
5
+ *
6
+ * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet.
7
+ */
8
+ export declare class Secp256k1Wallet implements OfflineAminoSigner {
9
+ /**
10
+ * Creates a Secp256k1Wallet from the given private key
11
+ *
12
+ * @param privkey The private key.
13
+ * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos".
14
+ */
15
+ static fromKey(privkey: Uint8Array, prefix?: string): Promise<Secp256k1Wallet>;
16
+ private readonly pubkey;
17
+ private readonly privkey;
18
+ private readonly prefix;
19
+ private constructor();
20
+ private get address();
21
+ getAccounts(): Promise<readonly AccountData[]>;
22
+ signAmino(signerAddress: string, signDoc: StdSignDoc): Promise<AminoSignResponse>;
23
+ }
@@ -1,141 +1,141 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
60
- exports.Secp256k1Wallet = void 0;
61
- var crypto_1 = require("@cosmjs/crypto");
62
- var encoding_1 = require("@cosmjs/encoding");
63
- var addresses_1 = require("./addresses");
64
- var signature_1 = require("./signature");
65
- var signdoc_1 = require("./signdoc");
66
- /**
67
- * A wallet that holds a single secp256k1 keypair.
68
- *
69
- * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet.
70
- */
71
- var Secp256k1Wallet = /** @class */ (function () {
72
- function Secp256k1Wallet(privkey, pubkey, prefix) {
73
- this.privkey = privkey;
74
- this.pubkey = pubkey;
75
- this.prefix = prefix;
76
- }
77
- /**
78
- * Creates a Secp256k1Wallet from the given private key
79
- *
80
- * @param privkey The private key.
81
- * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos".
82
- */
83
- Secp256k1Wallet.fromKey = function (privkey, prefix) {
84
- if (prefix === void 0) { prefix = "cosmos"; }
85
- return __awaiter(this, void 0, void 0, function () {
86
- var uncompressed;
87
- return __generator(this, function (_a) {
88
- switch (_a.label) {
89
- case 0: return [4 /*yield*/, crypto_1.Secp256k1.makeKeypair(privkey)];
90
- case 1:
91
- uncompressed = (_a.sent()).pubkey;
92
- return [2 /*return*/, new Secp256k1Wallet(privkey, crypto_1.Secp256k1.compressPubkey(uncompressed), prefix)];
93
- }
94
- });
95
- });
96
- };
97
- Object.defineProperty(Secp256k1Wallet.prototype, "address", {
98
- get: function () {
99
- return encoding_1.Bech32.encode(this.prefix, addresses_1.rawSecp256k1PubkeyToRawAddress(this.pubkey));
100
- },
101
- enumerable: false,
102
- configurable: true
103
- });
104
- Secp256k1Wallet.prototype.getAccounts = function () {
105
- return __awaiter(this, void 0, void 0, function () {
106
- return __generator(this, function (_a) {
107
- return [2 /*return*/, [
108
- {
109
- algo: "secp256k1",
110
- address: this.address,
111
- pubkey: this.pubkey,
112
- },
113
- ]];
114
- });
115
- });
116
- };
117
- Secp256k1Wallet.prototype.signAmino = function (signerAddress, signDoc) {
118
- return __awaiter(this, void 0, void 0, function () {
119
- var message, signature, signatureBytes;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- if (signerAddress !== this.address) {
124
- throw new Error("Address " + signerAddress + " not found in wallet");
125
- }
126
- message = new crypto_1.Sha256(signdoc_1.serializeSignDoc(signDoc)).digest();
127
- return [4 /*yield*/, crypto_1.Secp256k1.createSignature(message, this.privkey)];
128
- case 1:
129
- signature = _a.sent();
130
- signatureBytes = new Uint8Array(__spreadArray(__spreadArray([], __read(signature.r(32))), __read(signature.s(32))));
131
- return [2 /*return*/, {
132
- signed: signDoc,
133
- signature: signature_1.encodeSecp256k1Signature(this.pubkey, signatureBytes),
134
- }];
135
- }
136
- });
137
- });
138
- };
139
- return Secp256k1Wallet;
140
- }());
141
- exports.Secp256k1Wallet = Secp256k1Wallet;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.Secp256k1Wallet = void 0;
61
+ var crypto_1 = require("@cosmjs/crypto");
62
+ var encoding_1 = require("@cosmjs/encoding");
63
+ var addresses_1 = require("./addresses");
64
+ var signature_1 = require("./signature");
65
+ var signdoc_1 = require("./signdoc");
66
+ /**
67
+ * A wallet that holds a single secp256k1 keypair.
68
+ *
69
+ * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet.
70
+ */
71
+ var Secp256k1Wallet = /** @class */ (function () {
72
+ function Secp256k1Wallet(privkey, pubkey, prefix) {
73
+ this.privkey = privkey;
74
+ this.pubkey = pubkey;
75
+ this.prefix = prefix;
76
+ }
77
+ /**
78
+ * Creates a Secp256k1Wallet from the given private key
79
+ *
80
+ * @param privkey The private key.
81
+ * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos".
82
+ */
83
+ Secp256k1Wallet.fromKey = function (privkey, prefix) {
84
+ if (prefix === void 0) { prefix = "cosmos"; }
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var uncompressed;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0: return [4 /*yield*/, crypto_1.Secp256k1.makeKeypair(privkey)];
90
+ case 1:
91
+ uncompressed = (_a.sent()).pubkey;
92
+ return [2 /*return*/, new Secp256k1Wallet(privkey, crypto_1.Secp256k1.compressPubkey(uncompressed), prefix)];
93
+ }
94
+ });
95
+ });
96
+ };
97
+ Object.defineProperty(Secp256k1Wallet.prototype, "address", {
98
+ get: function () {
99
+ return encoding_1.Bech32.encode(this.prefix, addresses_1.rawSecp256k1PubkeyToRawAddress(this.pubkey));
100
+ },
101
+ enumerable: false,
102
+ configurable: true
103
+ });
104
+ Secp256k1Wallet.prototype.getAccounts = function () {
105
+ return __awaiter(this, void 0, void 0, function () {
106
+ return __generator(this, function (_a) {
107
+ return [2 /*return*/, [
108
+ {
109
+ algo: "secp256k1",
110
+ address: this.address,
111
+ pubkey: this.pubkey,
112
+ },
113
+ ]];
114
+ });
115
+ });
116
+ };
117
+ Secp256k1Wallet.prototype.signAmino = function (signerAddress, signDoc) {
118
+ return __awaiter(this, void 0, void 0, function () {
119
+ var message, signature, signatureBytes;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ if (signerAddress !== this.address) {
124
+ throw new Error("Address " + signerAddress + " not found in wallet");
125
+ }
126
+ message = new crypto_1.Sha256(signdoc_1.serializeSignDoc(signDoc)).digest();
127
+ return [4 /*yield*/, crypto_1.Secp256k1.createSignature(message, this.privkey)];
128
+ case 1:
129
+ signature = _a.sent();
130
+ signatureBytes = new Uint8Array(__spreadArray(__spreadArray([], __read(signature.r(32))), __read(signature.s(32))));
131
+ return [2 /*return*/, {
132
+ signed: signDoc,
133
+ signature: signature_1.encodeSecp256k1Signature(this.pubkey, signatureBytes),
134
+ }];
135
+ }
136
+ });
137
+ });
138
+ };
139
+ return Secp256k1Wallet;
140
+ }());
141
+ exports.Secp256k1Wallet = Secp256k1Wallet;
@@ -1,16 +1,16 @@
1
- import { Pubkey } from "./pubkeys";
2
- export interface StdSignature {
3
- readonly pub_key: Pubkey;
4
- readonly signature: string;
5
- }
6
- /**
7
- * Takes a binary pubkey and signature to create a signature object
8
- *
9
- * @param pubkey a compressed secp256k1 public key
10
- * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s
11
- */
12
- export declare function encodeSecp256k1Signature(pubkey: Uint8Array, signature: Uint8Array): StdSignature;
13
- export declare function decodeSignature(signature: StdSignature): {
14
- readonly pubkey: Uint8Array;
15
- readonly signature: Uint8Array;
16
- };
1
+ import { Pubkey } from "./pubkeys";
2
+ export interface StdSignature {
3
+ readonly pub_key: Pubkey;
4
+ readonly signature: string;
5
+ }
6
+ /**
7
+ * Takes a binary pubkey and signature to create a signature object
8
+ *
9
+ * @param pubkey a compressed secp256k1 public key
10
+ * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s
11
+ */
12
+ export declare function encodeSecp256k1Signature(pubkey: Uint8Array, signature: Uint8Array): StdSignature;
13
+ export declare function decodeSignature(signature: StdSignature): {
14
+ readonly pubkey: Uint8Array;
15
+ readonly signature: Uint8Array;
16
+ };
@@ -1,36 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeSignature = exports.encodeSecp256k1Signature = void 0;
4
- /* eslint-disable @typescript-eslint/naming-convention */
5
- var encoding_1 = require("@cosmjs/encoding");
6
- var encoding_2 = require("./encoding");
7
- var pubkeys_1 = require("./pubkeys");
8
- /**
9
- * Takes a binary pubkey and signature to create a signature object
10
- *
11
- * @param pubkey a compressed secp256k1 public key
12
- * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s
13
- */
14
- function encodeSecp256k1Signature(pubkey, signature) {
15
- if (signature.length !== 64) {
16
- throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");
17
- }
18
- return {
19
- pub_key: encoding_2.encodeSecp256k1Pubkey(pubkey),
20
- signature: encoding_1.toBase64(signature),
21
- };
22
- }
23
- exports.encodeSecp256k1Signature = encodeSecp256k1Signature;
24
- function decodeSignature(signature) {
25
- switch (signature.pub_key.type) {
26
- // Note: please don't add cases here without writing additional unit tests
27
- case pubkeys_1.pubkeyType.secp256k1:
28
- return {
29
- pubkey: encoding_1.fromBase64(signature.pub_key.value),
30
- signature: encoding_1.fromBase64(signature.signature),
31
- };
32
- default:
33
- throw new Error("Unsupported pubkey type");
34
- }
35
- }
36
- exports.decodeSignature = decodeSignature;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeSignature = exports.encodeSecp256k1Signature = void 0;
4
+ /* eslint-disable @typescript-eslint/naming-convention */
5
+ var encoding_1 = require("@cosmjs/encoding");
6
+ var encoding_2 = require("./encoding");
7
+ var pubkeys_1 = require("./pubkeys");
8
+ /**
9
+ * Takes a binary pubkey and signature to create a signature object
10
+ *
11
+ * @param pubkey a compressed secp256k1 public key
12
+ * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s
13
+ */
14
+ function encodeSecp256k1Signature(pubkey, signature) {
15
+ if (signature.length !== 64) {
16
+ throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");
17
+ }
18
+ return {
19
+ pub_key: encoding_2.encodeSecp256k1Pubkey(pubkey),
20
+ signature: encoding_1.toBase64(signature),
21
+ };
22
+ }
23
+ exports.encodeSecp256k1Signature = encodeSecp256k1Signature;
24
+ function decodeSignature(signature) {
25
+ switch (signature.pub_key.type) {
26
+ // Note: please don't add cases here without writing additional unit tests
27
+ case pubkeys_1.pubkeyType.secp256k1:
28
+ return {
29
+ pubkey: encoding_1.fromBase64(signature.pub_key.value),
30
+ signature: encoding_1.fromBase64(signature.signature),
31
+ };
32
+ default:
33
+ throw new Error("Unsupported pubkey type");
34
+ }
35
+ }
36
+ exports.decodeSignature = decodeSignature;
@@ -1,26 +1,26 @@
1
- import { Coin } from "./coins";
2
- export interface AminoMsg {
3
- readonly type: string;
4
- readonly value: any;
5
- }
6
- export interface StdFee {
7
- amount: Coin[];
8
- gas: string;
9
- }
10
- /**
11
- * The document to be signed
12
- *
13
- * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc
14
- */
15
- export interface StdSignDoc {
16
- readonly chain_id: string;
17
- readonly account_number: string;
18
- readonly sequence: string;
19
- readonly fee: StdFee;
20
- readonly msgs: readonly AminoMsg[];
21
- readonly memo: string;
22
- }
23
- /** Returns a JSON string with objects sorted by key */
24
- export declare function sortedJsonStringify(obj: any): string;
25
- export declare function makeSignDoc(msgs: readonly AminoMsg[], fee: StdFee, chainId: string, memo: string | undefined, accountNumber: number | string, sequence: number | string): StdSignDoc;
26
- export declare function serializeSignDoc(signDoc: StdSignDoc): Uint8Array;
1
+ import { Coin } from "./coins";
2
+ export interface AminoMsg {
3
+ readonly type: string;
4
+ readonly value: any;
5
+ }
6
+ export interface StdFee {
7
+ amount: Coin[];
8
+ gas: string;
9
+ }
10
+ /**
11
+ * The document to be signed
12
+ *
13
+ * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc
14
+ */
15
+ export interface StdSignDoc {
16
+ readonly chain_id: string;
17
+ readonly account_number: string;
18
+ readonly sequence: string;
19
+ readonly fee: StdFee;
20
+ readonly msgs: readonly AminoMsg[];
21
+ readonly memo: string;
22
+ }
23
+ /** Returns a JSON string with objects sorted by key */
24
+ export declare function sortedJsonStringify(obj: any): string;
25
+ export declare function makeSignDoc(msgs: readonly AminoMsg[], fee: StdFee, chainId: string, memo: string | undefined, accountNumber: number | string, sequence: number | string): StdSignDoc;
26
+ export declare function serializeSignDoc(signDoc: StdSignDoc): Uint8Array;
@@ -1,42 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeSignDoc = exports.makeSignDoc = exports.sortedJsonStringify = void 0;
4
- /* eslint-disable @typescript-eslint/naming-convention */
5
- var encoding_1 = require("@cosmjs/encoding");
6
- var math_1 = require("@cosmjs/math");
7
- function sortedObject(obj) {
8
- if (typeof obj !== "object" || obj === null) {
9
- return obj;
10
- }
11
- if (Array.isArray(obj)) {
12
- return obj.map(sortedObject);
13
- }
14
- var sortedKeys = Object.keys(obj).sort();
15
- var result = {};
16
- // NOTE: Use forEach instead of reduce for performance with large objects eg Wasm code
17
- sortedKeys.forEach(function (key) {
18
- result[key] = sortedObject(obj[key]);
19
- });
20
- return result;
21
- }
22
- /** Returns a JSON string with objects sorted by key */
23
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
24
- function sortedJsonStringify(obj) {
25
- return JSON.stringify(sortedObject(obj));
26
- }
27
- exports.sortedJsonStringify = sortedJsonStringify;
28
- function makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence) {
29
- return {
30
- chain_id: chainId,
31
- account_number: math_1.Uint53.fromString(accountNumber.toString()).toString(),
32
- sequence: math_1.Uint53.fromString(sequence.toString()).toString(),
33
- fee: fee,
34
- msgs: msgs,
35
- memo: memo || "",
36
- };
37
- }
38
- exports.makeSignDoc = makeSignDoc;
39
- function serializeSignDoc(signDoc) {
40
- return encoding_1.toUtf8(sortedJsonStringify(signDoc));
41
- }
42
- exports.serializeSignDoc = serializeSignDoc;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeSignDoc = exports.makeSignDoc = exports.sortedJsonStringify = void 0;
4
+ /* eslint-disable @typescript-eslint/naming-convention */
5
+ var encoding_1 = require("@cosmjs/encoding");
6
+ var math_1 = require("@cosmjs/math");
7
+ function sortedObject(obj) {
8
+ if (typeof obj !== "object" || obj === null) {
9
+ return obj;
10
+ }
11
+ if (Array.isArray(obj)) {
12
+ return obj.map(sortedObject);
13
+ }
14
+ var sortedKeys = Object.keys(obj).sort();
15
+ var result = {};
16
+ // NOTE: Use forEach instead of reduce for performance with large objects eg Wasm code
17
+ sortedKeys.forEach(function (key) {
18
+ result[key] = sortedObject(obj[key]);
19
+ });
20
+ return result;
21
+ }
22
+ /** Returns a JSON string with objects sorted by key */
23
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
24
+ function sortedJsonStringify(obj) {
25
+ return JSON.stringify(sortedObject(obj));
26
+ }
27
+ exports.sortedJsonStringify = sortedJsonStringify;
28
+ function makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence) {
29
+ return {
30
+ chain_id: chainId,
31
+ account_number: math_1.Uint53.fromString(accountNumber.toString()).toString(),
32
+ sequence: math_1.Uint53.fromString(sequence.toString()).toString(),
33
+ fee: fee,
34
+ msgs: msgs,
35
+ memo: memo || "",
36
+ };
37
+ }
38
+ exports.makeSignDoc = makeSignDoc;
39
+ function serializeSignDoc(signDoc) {
40
+ return encoding_1.toUtf8(sortedJsonStringify(signDoc));
41
+ }
42
+ exports.serializeSignDoc = serializeSignDoc;
@@ -1,33 +1,33 @@
1
- import { StdSignature } from "./signature";
2
- import { StdSignDoc } from "./signdoc";
3
- export declare type Algo = "secp256k1" | "ed25519" | "sr25519";
4
- export interface AccountData {
5
- /** A printable address (typically bech32 encoded) */
6
- readonly address: string;
7
- readonly algo: Algo;
8
- readonly pubkey: Uint8Array;
9
- }
10
- export interface AminoSignResponse {
11
- /**
12
- * The sign doc that was signed.
13
- * This may be different from the input signDoc when the signer modifies it as part of the signing process.
14
- */
15
- readonly signed: StdSignDoc;
16
- readonly signature: StdSignature;
17
- }
18
- export interface OfflineAminoSigner {
19
- /**
20
- * Get AccountData array from wallet. Rejects if not enabled.
21
- */
22
- readonly getAccounts: () => Promise<readonly AccountData[]>;
23
- /**
24
- * Request signature from whichever key corresponds to provided bech32-encoded address. Rejects if not enabled.
25
- *
26
- * The signer implementation may offer the user the ability to override parts of the signDoc. It must
27
- * return the doc that was signed in the response.
28
- *
29
- * @param signerAddress The address of the account that should sign the transaction
30
- * @param signDoc The content that should be signed
31
- */
32
- readonly signAmino: (signerAddress: string, signDoc: StdSignDoc) => Promise<AminoSignResponse>;
33
- }
1
+ import { StdSignature } from "./signature";
2
+ import { StdSignDoc } from "./signdoc";
3
+ export declare type Algo = "secp256k1" | "ed25519" | "sr25519";
4
+ export interface AccountData {
5
+ /** A printable address (typically bech32 encoded) */
6
+ readonly address: string;
7
+ readonly algo: Algo;
8
+ readonly pubkey: Uint8Array;
9
+ }
10
+ export interface AminoSignResponse {
11
+ /**
12
+ * The sign doc that was signed.
13
+ * This may be different from the input signDoc when the signer modifies it as part of the signing process.
14
+ */
15
+ readonly signed: StdSignDoc;
16
+ readonly signature: StdSignature;
17
+ }
18
+ export interface OfflineAminoSigner {
19
+ /**
20
+ * Get AccountData array from wallet. Rejects if not enabled.
21
+ */
22
+ readonly getAccounts: () => Promise<readonly AccountData[]>;
23
+ /**
24
+ * Request signature from whichever key corresponds to provided bech32-encoded address. Rejects if not enabled.
25
+ *
26
+ * The signer implementation may offer the user the ability to override parts of the signDoc. It must
27
+ * return the doc that was signed in the response.
28
+ *
29
+ * @param signerAddress The address of the account that should sign the transaction
30
+ * @param signDoc The content that should be signed
31
+ */
32
+ readonly signAmino: (signerAddress: string, signDoc: StdSignDoc) => Promise<AminoSignResponse>;
33
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });