@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.
- package/LICENSE +20 -20
- package/README.md +136 -136
- package/dist/index.d.ts +4 -4
- package/dist/index.js +16 -16
- package/dist/sdk/FirmaBankService.d.ts +15 -15
- package/dist/sdk/FirmaBankService.js +211 -211
- package/dist/sdk/FirmaChainService.d.ts +8 -8
- package/dist/sdk/FirmaChainService.js +86 -86
- package/dist/sdk/FirmaConfig.d.ts +18 -16
- package/dist/sdk/FirmaConfig.js +63 -55
- package/dist/sdk/FirmaContractService.d.ts +31 -30
- package/dist/sdk/FirmaContractService.js +413 -394
- package/dist/sdk/FirmaDistributionService.d.ts +31 -31
- package/dist/sdk/FirmaDistributionService.js +524 -524
- package/dist/sdk/FirmaFeeGrantService.d.ts +21 -21
- package/dist/sdk/FirmaFeeGrantService.js +341 -341
- package/dist/sdk/FirmaGovService.d.ts +35 -35
- package/dist/sdk/FirmaGovService.js +775 -775
- package/dist/sdk/FirmaIpfsService.d.ts +12 -12
- package/dist/sdk/FirmaIpfsService.js +185 -185
- package/dist/sdk/FirmaMobileSDK.d.ts +27 -27
- package/dist/sdk/FirmaMobileSDK.js +45 -45
- package/dist/sdk/FirmaNftService.d.ts +31 -28
- package/dist/sdk/FirmaNftService.js +372 -390
- package/dist/sdk/FirmaSDK.d.ts +29 -29
- package/dist/sdk/FirmaSDK.js +48 -48
- package/dist/sdk/FirmaSlashingService.d.ts +9 -9
- package/dist/sdk/FirmaSlashingService.js +105 -105
- package/dist/sdk/FirmaStakingService.d.ts +34 -34
- package/dist/sdk/FirmaStakingService.js +604 -604
- package/dist/sdk/FirmaTokenService.d.ts +26 -26
- package/dist/sdk/FirmaTokenService.js +416 -416
- package/dist/sdk/FirmaUtil.d.ts +35 -25
- package/dist/sdk/FirmaUtil.js +226 -201
- package/dist/sdk/FirmaWalletService.d.ts +36 -40
- package/dist/sdk/FirmaWalletService.js +309 -309
- package/dist/sdk/firmachain/amino/addresses.d.ts +5 -5
- package/dist/sdk/firmachain/amino/addresses.js +46 -46
- package/dist/sdk/firmachain/amino/aminomsgs.d.ts +281 -281
- package/dist/sdk/firmachain/amino/aminomsgs.js +77 -77
- package/dist/sdk/firmachain/amino/aminotypes.d.ts +22 -22
- package/dist/sdk/firmachain/amino/aminotypes.js +521 -521
- package/dist/sdk/firmachain/amino/coins.d.ts +30 -30
- package/dist/sdk/firmachain/amino/coins.js +69 -69
- package/dist/sdk/firmachain/amino/encoding.d.ts +24 -24
- package/dist/sdk/firmachain/amino/encoding.js +234 -234
- package/dist/sdk/firmachain/amino/multisig.d.ts +10 -10
- package/dist/sdk/firmachain/amino/multisig.js +42 -42
- package/dist/sdk/firmachain/amino/paths.d.ts +6 -6
- package/dist/sdk/firmachain/amino/paths.js +18 -18
- package/dist/sdk/firmachain/amino/pubkeys.d.ts +47 -47
- package/dist/sdk/firmachain/amino/pubkeys.js +29 -29
- package/dist/sdk/firmachain/amino/secp256k1hdwallet.d.ts +94 -94
- package/dist/sdk/firmachain/amino/secp256k1hdwallet.js +437 -437
- package/dist/sdk/firmachain/amino/secp256k1wallet.d.ts +23 -23
- package/dist/sdk/firmachain/amino/secp256k1wallet.js +141 -141
- package/dist/sdk/firmachain/amino/signature.d.ts +16 -16
- package/dist/sdk/firmachain/amino/signature.js +36 -36
- package/dist/sdk/firmachain/amino/signdoc.d.ts +26 -26
- package/dist/sdk/firmachain/amino/signdoc.js +42 -42
- package/dist/sdk/firmachain/amino/signer.d.ts +33 -33
- package/dist/sdk/firmachain/amino/signer.js +2 -2
- package/dist/sdk/firmachain/amino/stdtx.d.ts +15 -15
- package/dist/sdk/firmachain/amino/stdtx.js +17 -17
- package/dist/sdk/firmachain/amino/wallet.d.ts +32 -32
- package/dist/sdk/firmachain/amino/wallet.js +132 -132
- package/dist/sdk/firmachain/bank/BankQueryClient.d.ts +12 -12
- package/dist/sdk/firmachain/bank/BankQueryClient.js +116 -116
- package/dist/sdk/firmachain/bank/BankTxClient.d.ts +17 -17
- package/dist/sdk/firmachain/bank/BankTxClient.js +40 -40
- package/dist/sdk/firmachain/bank/index.d.ts +3 -3
- package/dist/sdk/firmachain/bank/index.js +15 -15
- package/dist/sdk/firmachain/common/ITxClient.d.ts +15 -15
- package/dist/sdk/firmachain/common/ITxClient.js +102 -102
- package/dist/sdk/firmachain/common/LedgerSigningStargateClient.d.ts +27 -27
- package/dist/sdk/firmachain/common/LedgerSigningStargateClient.js +165 -165
- package/dist/sdk/firmachain/common/LedgerWallet.d.ts +14 -9
- package/dist/sdk/firmachain/common/LedgerWallet.js +147 -150
- package/dist/sdk/firmachain/common/QueryCommon.d.ts +4 -4
- package/dist/sdk/firmachain/common/QueryCommon.js +2 -2
- package/dist/sdk/firmachain/common/TendermintQueryClient.d.ts +42 -42
- package/dist/sdk/firmachain/common/TendermintQueryClient.js +108 -108
- package/dist/sdk/firmachain/common/TxCommon.d.ts +87 -94
- package/dist/sdk/firmachain/common/TxCommon.js +18 -34
- package/dist/sdk/firmachain/common/accounts.d.ts +16 -16
- package/dist/sdk/firmachain/common/accounts.js +64 -64
- package/dist/sdk/firmachain/common/index.d.ts +2 -2
- package/dist/sdk/firmachain/common/index.js +14 -14
- package/dist/sdk/firmachain/common/signing.d.ts +10 -10
- package/dist/sdk/firmachain/common/signing.js +75 -75
- package/dist/sdk/firmachain/common/signingstargateclient.d.ts +37 -37
- package/dist/sdk/firmachain/common/signingstargateclient.js +298 -298
- package/dist/sdk/firmachain/common/stargateclient.d.ts +46 -46
- package/dist/sdk/firmachain/common/stargateclient.js +211 -211
- package/dist/sdk/firmachain/contract/ContractQueryClient.d.ts +32 -31
- package/dist/sdk/firmachain/contract/ContractQueryClient.js +156 -141
- package/dist/sdk/firmachain/contract/ContractTxClient.d.ts +17 -17
- package/dist/sdk/firmachain/contract/ContractTxClient.js +40 -40
- package/dist/sdk/firmachain/contract/ContractTxTypes.d.ts +69 -69
- package/dist/sdk/firmachain/contract/ContractTxTypes.js +483 -483
- package/dist/sdk/firmachain/contract/index.d.ts +3 -3
- package/dist/sdk/firmachain/contract/index.js +15 -15
- package/dist/sdk/firmachain/distribution/DistributionQueryClient.d.ts +18 -18
- package/dist/sdk/firmachain/distribution/DistributionQueryClient.js +167 -167
- package/dist/sdk/firmachain/distribution/DistributionTxClient.d.ts +27 -27
- package/dist/sdk/firmachain/distribution/DistributionTxClient.js +48 -48
- package/dist/sdk/firmachain/distribution/index.d.ts +3 -3
- package/dist/sdk/firmachain/distribution/index.js +15 -15
- package/dist/sdk/firmachain/feegrant/FeeGrantQueryClient.d.ts +17 -17
- package/dist/sdk/firmachain/feegrant/FeeGrantQueryClient.js +86 -86
- package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.d.ts +17 -17
- package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.js +40 -40
- package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +76 -76
- package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.js +194 -194
- package/dist/sdk/firmachain/feegrant/index.d.ts +2 -2
- package/dist/sdk/firmachain/feegrant/index.js +15 -15
- package/dist/sdk/firmachain/google/protobuf/any.d.ts +128 -128
- package/dist/sdk/firmachain/google/protobuf/any.js +106 -106
- package/dist/sdk/firmachain/google/protobuf/descriptor.d.ts +996 -996
- package/dist/sdk/firmachain/google/protobuf/descriptor.js +5329 -5329
- package/dist/sdk/firmachain/google/protobuf/duration.d.ts +91 -91
- package/dist/sdk/firmachain/google/protobuf/duration.js +107 -107
- package/dist/sdk/firmachain/google/protobuf/timestamp.d.ts +109 -109
- package/dist/sdk/firmachain/google/protobuf/timestamp.js +107 -107
- package/dist/sdk/firmachain/gov/GovQueryClient.d.ts +61 -61
- package/dist/sdk/firmachain/gov/GovQueryClient.js +152 -152
- package/dist/sdk/firmachain/gov/GovTxClient.d.ts +22 -22
- package/dist/sdk/firmachain/gov/GovTxClient.js +44 -44
- package/dist/sdk/firmachain/gov/index.d.ts +3 -3
- package/dist/sdk/firmachain/gov/index.js +15 -15
- package/dist/sdk/firmachain/nft/NftQueryClient.d.ts +20 -17
- package/dist/sdk/firmachain/nft/NftQueryClient.js +125 -121
- package/dist/sdk/firmachain/nft/NftTxClient.d.ts +22 -22
- package/dist/sdk/firmachain/nft/NftTxClient.js +44 -44
- package/dist/sdk/firmachain/nft/NftTxTypes.d.ts +86 -86
- package/dist/sdk/firmachain/nft/NftTxTypes.js +424 -424
- package/dist/sdk/firmachain/nft/index.d.ts +3 -3
- package/dist/sdk/firmachain/nft/index.js +15 -15
- package/dist/sdk/firmachain/slashing/SlashingQueryClient.d.ts +22 -22
- package/dist/sdk/firmachain/slashing/SlashingQueryClient.js +101 -101
- package/dist/sdk/firmachain/slashing/index.d.ts +2 -2
- package/dist/sdk/firmachain/slashing/index.js +14 -14
- package/dist/sdk/firmachain/staking/StakingQueryClient.d.ts +93 -93
- package/dist/sdk/firmachain/staking/StakingQueryClient.js +223 -223
- package/dist/sdk/firmachain/staking/StakingTxClient.d.ts +32 -32
- package/dist/sdk/firmachain/staking/StakingTxClient.js +52 -52
- package/dist/sdk/firmachain/staking/index.d.ts +3 -3
- package/dist/sdk/firmachain/staking/index.js +15 -15
- package/dist/sdk/firmachain/token/TokenQueryClient.d.ts +24 -24
- package/dist/sdk/firmachain/token/TokenQueryClient.js +106 -106
- package/dist/sdk/firmachain/token/TokenTxClient.d.ts +27 -27
- package/dist/sdk/firmachain/token/TokenTxClient.js +48 -48
- package/dist/sdk/firmachain/token/TokenTxTypes.d.ts +116 -116
- package/dist/sdk/firmachain/token/TokenTxTypes.js +685 -685
- package/dist/sdk/firmachain/token/index.d.ts +3 -3
- package/dist/sdk/firmachain/token/index.js +15 -15
- 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 });
|