@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,15 +1,15 @@
1
- import { StdSignature } from "./signature";
2
- import { AminoMsg, StdFee, StdSignDoc } from "./signdoc";
3
- /**
4
- * A Cosmos SDK StdTx
5
- *
6
- * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdtx
7
- */
8
- export interface StdTx {
9
- readonly msg: readonly AminoMsg[];
10
- readonly fee: StdFee;
11
- readonly signatures: readonly StdSignature[];
12
- readonly memo: string | undefined;
13
- }
14
- export declare function isStdTx(txValue: unknown): txValue is StdTx;
15
- export declare function makeStdTx(content: Pick<StdSignDoc, "msgs" | "fee" | "memo">, signatures: StdSignature | readonly StdSignature[]): StdTx;
1
+ import { StdSignature } from "./signature";
2
+ import { AminoMsg, StdFee, StdSignDoc } from "./signdoc";
3
+ /**
4
+ * A Cosmos SDK StdTx
5
+ *
6
+ * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdtx
7
+ */
8
+ export interface StdTx {
9
+ readonly msg: readonly AminoMsg[];
10
+ readonly fee: StdFee;
11
+ readonly signatures: readonly StdSignature[];
12
+ readonly memo: string | undefined;
13
+ }
14
+ export declare function isStdTx(txValue: unknown): txValue is StdTx;
15
+ export declare function makeStdTx(content: Pick<StdSignDoc, "msgs" | "fee" | "memo">, signatures: StdSignature | readonly StdSignature[]): StdTx;
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeStdTx = exports.isStdTx = void 0;
4
- function isStdTx(txValue) {
5
- var _a = txValue, memo = _a.memo, msg = _a.msg, fee = _a.fee, signatures = _a.signatures;
6
- return (typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures));
7
- }
8
- exports.isStdTx = isStdTx;
9
- function makeStdTx(content, signatures) {
10
- return {
11
- msg: content.msgs,
12
- fee: content.fee,
13
- memo: content.memo,
14
- signatures: Array.isArray(signatures) ? signatures : [signatures],
15
- };
16
- }
17
- exports.makeStdTx = makeStdTx;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeStdTx = exports.isStdTx = void 0;
4
+ function isStdTx(txValue) {
5
+ var _a = txValue, memo = _a.memo, msg = _a.msg, fee = _a.fee, signatures = _a.signatures;
6
+ return (typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures));
7
+ }
8
+ exports.isStdTx = isStdTx;
9
+ function makeStdTx(content, signatures) {
10
+ return {
11
+ msg: content.msgs,
12
+ fee: content.fee,
13
+ memo: content.memo,
14
+ signatures: Array.isArray(signatures) ? signatures : [signatures],
15
+ };
16
+ }
17
+ exports.makeStdTx = makeStdTx;
@@ -1,32 +1,32 @@
1
- /**
2
- * A fixed salt is chosen to archive a deterministic password to key derivation.
3
- * This reduces the scope of a potential rainbow attack to all CosmJS users.
4
- * Must be 16 bytes due to implementation limitations.
5
- */
6
- export declare const cosmjsSalt: Uint8Array;
7
- export interface KdfConfiguration {
8
- /**
9
- * An algorithm identifier, such as "argon2id" or "scrypt".
10
- */
11
- readonly algorithm: string;
12
- /** A map of algorithm-specific parameters */
13
- readonly params: Record<string, unknown>;
14
- }
15
- export declare function executeKdf(password: string, configuration: KdfConfiguration): Promise<Uint8Array>;
16
- /**
17
- * Configuration how to encrypt data or how data was encrypted.
18
- * This is stored as part of the wallet serialization and must only contain JSON types.
19
- */
20
- export interface EncryptionConfiguration {
21
- /**
22
- * An algorithm identifier, such as "xchacha20poly1305-ietf".
23
- */
24
- readonly algorithm: string;
25
- /** A map of algorithm-specific parameters */
26
- readonly params?: Record<string, unknown>;
27
- }
28
- export declare const supportedAlgorithms: {
29
- xchacha20poly1305Ietf: string;
30
- };
31
- export declare function encrypt(plaintext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise<Uint8Array>;
32
- export declare function decrypt(ciphertext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise<Uint8Array>;
1
+ /**
2
+ * A fixed salt is chosen to archive a deterministic password to key derivation.
3
+ * This reduces the scope of a potential rainbow attack to all CosmJS users.
4
+ * Must be 16 bytes due to implementation limitations.
5
+ */
6
+ export declare const cosmjsSalt: Uint8Array;
7
+ export interface KdfConfiguration {
8
+ /**
9
+ * An algorithm identifier, such as "argon2id" or "scrypt".
10
+ */
11
+ readonly algorithm: string;
12
+ /** A map of algorithm-specific parameters */
13
+ readonly params: Record<string, unknown>;
14
+ }
15
+ export declare function executeKdf(password: string, configuration: KdfConfiguration): Promise<Uint8Array>;
16
+ /**
17
+ * Configuration how to encrypt data or how data was encrypted.
18
+ * This is stored as part of the wallet serialization and must only contain JSON types.
19
+ */
20
+ export interface EncryptionConfiguration {
21
+ /**
22
+ * An algorithm identifier, such as "xchacha20poly1305-ietf".
23
+ */
24
+ readonly algorithm: string;
25
+ /** A map of algorithm-specific parameters */
26
+ readonly params?: Record<string, unknown>;
27
+ }
28
+ export declare const supportedAlgorithms: {
29
+ xchacha20poly1305Ietf: string;
30
+ };
31
+ export declare function encrypt(plaintext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise<Uint8Array>;
32
+ export declare function decrypt(ciphertext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise<Uint8Array>;
@@ -1,132 +1,132 @@
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.decrypt = exports.encrypt = exports.supportedAlgorithms = exports.executeKdf = exports.cosmjsSalt = void 0;
61
- var crypto_1 = require("@cosmjs/crypto");
62
- var encoding_1 = require("@cosmjs/encoding");
63
- /**
64
- * A fixed salt is chosen to archive a deterministic password to key derivation.
65
- * This reduces the scope of a potential rainbow attack to all CosmJS users.
66
- * Must be 16 bytes due to implementation limitations.
67
- */
68
- exports.cosmjsSalt = encoding_1.toAscii("The CosmJS salt.");
69
- function executeKdf(password, configuration) {
70
- return __awaiter(this, void 0, void 0, function () {
71
- var options;
72
- return __generator(this, function (_a) {
73
- switch (configuration.algorithm) {
74
- case "argon2id": {
75
- options = configuration.params;
76
- if (!crypto_1.isArgon2idOptions(options))
77
- throw new Error("Invalid format of argon2id params");
78
- return [2 /*return*/, crypto_1.Argon2id.execute(password, exports.cosmjsSalt, options)];
79
- }
80
- default:
81
- throw new Error("Unsupported KDF algorithm");
82
- }
83
- return [2 /*return*/];
84
- });
85
- });
86
- }
87
- exports.executeKdf = executeKdf;
88
- exports.supportedAlgorithms = {
89
- xchacha20poly1305Ietf: "xchacha20poly1305-ietf",
90
- };
91
- function encrypt(plaintext, encryptionKey, config) {
92
- return __awaiter(this, void 0, void 0, function () {
93
- var _a, nonce, _b, _c;
94
- return __generator(this, function (_d) {
95
- switch (_d.label) {
96
- case 0:
97
- _a = config.algorithm;
98
- switch (_a) {
99
- case exports.supportedAlgorithms.xchacha20poly1305Ietf: return [3 /*break*/, 1];
100
- }
101
- return [3 /*break*/, 3];
102
- case 1:
103
- nonce = crypto_1.Random.getBytes(crypto_1.xchacha20NonceLength);
104
- _b = Uint8Array.bind;
105
- _c = [__spreadArray([], __read(nonce))];
106
- return [4 /*yield*/, crypto_1.Xchacha20poly1305Ietf.encrypt(plaintext, encryptionKey, nonce)];
107
- case 2:
108
- // Prepend fixed-length nonce to ciphertext as suggested in the example from https://github.com/jedisct1/libsodium.js#api
109
- return [2 /*return*/, new (_b.apply(Uint8Array, [void 0, __spreadArray.apply(void 0, _c.concat([__read.apply(void 0, [(_d.sent())])]))]))()];
110
- case 3: throw new Error("Unsupported encryption algorithm: '" + config.algorithm + "'");
111
- }
112
- });
113
- });
114
- }
115
- exports.encrypt = encrypt;
116
- function decrypt(ciphertext, encryptionKey, config) {
117
- return __awaiter(this, void 0, void 0, function () {
118
- var nonce;
119
- return __generator(this, function (_a) {
120
- switch (config.algorithm) {
121
- case exports.supportedAlgorithms.xchacha20poly1305Ietf: {
122
- nonce = ciphertext.slice(0, crypto_1.xchacha20NonceLength);
123
- return [2 /*return*/, crypto_1.Xchacha20poly1305Ietf.decrypt(ciphertext.slice(crypto_1.xchacha20NonceLength), encryptionKey, nonce)];
124
- }
125
- default:
126
- throw new Error("Unsupported encryption algorithm: '" + config.algorithm + "'");
127
- }
128
- return [2 /*return*/];
129
- });
130
- });
131
- }
132
- exports.decrypt = decrypt;
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.decrypt = exports.encrypt = exports.supportedAlgorithms = exports.executeKdf = exports.cosmjsSalt = void 0;
61
+ var crypto_1 = require("@cosmjs/crypto");
62
+ var encoding_1 = require("@cosmjs/encoding");
63
+ /**
64
+ * A fixed salt is chosen to archive a deterministic password to key derivation.
65
+ * This reduces the scope of a potential rainbow attack to all CosmJS users.
66
+ * Must be 16 bytes due to implementation limitations.
67
+ */
68
+ exports.cosmjsSalt = encoding_1.toAscii("The CosmJS salt.");
69
+ function executeKdf(password, configuration) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var options;
72
+ return __generator(this, function (_a) {
73
+ switch (configuration.algorithm) {
74
+ case "argon2id": {
75
+ options = configuration.params;
76
+ if (!crypto_1.isArgon2idOptions(options))
77
+ throw new Error("Invalid format of argon2id params");
78
+ return [2 /*return*/, crypto_1.Argon2id.execute(password, exports.cosmjsSalt, options)];
79
+ }
80
+ default:
81
+ throw new Error("Unsupported KDF algorithm");
82
+ }
83
+ return [2 /*return*/];
84
+ });
85
+ });
86
+ }
87
+ exports.executeKdf = executeKdf;
88
+ exports.supportedAlgorithms = {
89
+ xchacha20poly1305Ietf: "xchacha20poly1305-ietf",
90
+ };
91
+ function encrypt(plaintext, encryptionKey, config) {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ var _a, nonce, _b, _c;
94
+ return __generator(this, function (_d) {
95
+ switch (_d.label) {
96
+ case 0:
97
+ _a = config.algorithm;
98
+ switch (_a) {
99
+ case exports.supportedAlgorithms.xchacha20poly1305Ietf: return [3 /*break*/, 1];
100
+ }
101
+ return [3 /*break*/, 3];
102
+ case 1:
103
+ nonce = crypto_1.Random.getBytes(crypto_1.xchacha20NonceLength);
104
+ _b = Uint8Array.bind;
105
+ _c = [__spreadArray([], __read(nonce))];
106
+ return [4 /*yield*/, crypto_1.Xchacha20poly1305Ietf.encrypt(plaintext, encryptionKey, nonce)];
107
+ case 2:
108
+ // Prepend fixed-length nonce to ciphertext as suggested in the example from https://github.com/jedisct1/libsodium.js#api
109
+ return [2 /*return*/, new (_b.apply(Uint8Array, [void 0, __spreadArray.apply(void 0, _c.concat([__read.apply(void 0, [(_d.sent())])]))]))()];
110
+ case 3: throw new Error("Unsupported encryption algorithm: '" + config.algorithm + "'");
111
+ }
112
+ });
113
+ });
114
+ }
115
+ exports.encrypt = encrypt;
116
+ function decrypt(ciphertext, encryptionKey, config) {
117
+ return __awaiter(this, void 0, void 0, function () {
118
+ var nonce;
119
+ return __generator(this, function (_a) {
120
+ switch (config.algorithm) {
121
+ case exports.supportedAlgorithms.xchacha20poly1305Ietf: {
122
+ nonce = ciphertext.slice(0, crypto_1.xchacha20NonceLength);
123
+ return [2 /*return*/, crypto_1.Xchacha20poly1305Ietf.decrypt(ciphertext.slice(crypto_1.xchacha20NonceLength), encryptionKey, nonce)];
124
+ }
125
+ default:
126
+ throw new Error("Unsupported encryption algorithm: '" + config.algorithm + "'");
127
+ }
128
+ return [2 /*return*/];
129
+ });
130
+ });
131
+ }
132
+ exports.decrypt = decrypt;
@@ -1,12 +1,12 @@
1
- export interface Token {
2
- denom: string;
3
- amount: string;
4
- }
5
- export declare class BankQueryClient {
6
- private readonly axios;
7
- constructor(baseUrl: string);
8
- querySupplyOf(denom: string): Promise<string>;
9
- queryTokenBalance(address: string, denom: string): Promise<Token>;
10
- queryBalanceList(address: string): Promise<Token[]>;
11
- queryBalance(address: string, denom: string): Promise<Token>;
12
- }
1
+ export interface Token {
2
+ denom: string;
3
+ amount: string;
4
+ }
5
+ export declare class BankQueryClient {
6
+ private readonly axios;
7
+ constructor(baseUrl: string);
8
+ querySupplyOf(denom: string): Promise<string>;
9
+ queryTokenBalance(address: string, denom: string): Promise<Token>;
10
+ queryBalanceList(address: string): Promise<Token[]>;
11
+ queryBalance(address: string, denom: string): Promise<Token>;
12
+ }