@firmachain/firma-js 0.2.29 → 0.2.32

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 (52) hide show
  1. package/dist/sdk/FirmaAuthzService.d.ts +41 -0
  2. package/dist/sdk/FirmaAuthzService.js +633 -0
  3. package/dist/sdk/FirmaBankService.d.ts +2 -1
  4. package/dist/sdk/FirmaBankService.js +3 -0
  5. package/dist/sdk/FirmaCosmWasmService.d.ts +38 -0
  6. package/dist/sdk/FirmaCosmWasmService.js +667 -0
  7. package/dist/sdk/FirmaDistributionService.d.ts +2 -1
  8. package/dist/sdk/FirmaDistributionService.js +3 -0
  9. package/dist/sdk/FirmaIbcService.d.ts +15 -0
  10. package/dist/sdk/FirmaIbcService.js +144 -0
  11. package/dist/sdk/FirmaMobileSDK.d.ts +3 -1
  12. package/dist/sdk/FirmaMobileSDK.js +4 -1
  13. package/dist/sdk/FirmaSDK.d.ts +7 -1
  14. package/dist/sdk/FirmaSDK.js +10 -1
  15. package/dist/sdk/FirmaStakingService.d.ts +18 -5
  16. package/dist/sdk/FirmaStakingService.js +15 -8
  17. package/dist/sdk/FirmaUtil.d.ts +7 -0
  18. package/dist/sdk/FirmaUtil.js +69 -1
  19. package/dist/sdk/FirmaWalletService.d.ts +3 -0
  20. package/dist/sdk/FirmaWalletService.js +18 -10
  21. package/dist/sdk/firmachain/amino/signer.d.ts +1 -2
  22. package/dist/sdk/firmachain/authz/AuthzQueryClient.d.ts +48 -0
  23. package/dist/sdk/firmachain/authz/AuthzQueryClient.js +142 -0
  24. package/dist/sdk/firmachain/authz/AuthzTxClient.d.ts +22 -0
  25. package/dist/sdk/firmachain/authz/AuthzTxClient.js +44 -0
  26. package/dist/sdk/firmachain/authz/AuthzTxTypes.d.ts +147 -0
  27. package/dist/sdk/firmachain/authz/AuthzTxTypes.js +358 -0
  28. package/dist/sdk/firmachain/authz/index.d.ts +3 -0
  29. package/dist/sdk/firmachain/authz/index.js +15 -0
  30. package/dist/sdk/firmachain/common/ITxClient.d.ts +3 -0
  31. package/dist/sdk/firmachain/common/ITxClient.js +9 -0
  32. package/dist/sdk/firmachain/common/signingaminostargateclient.d.ts +50 -0
  33. package/dist/sdk/firmachain/common/signingaminostargateclient.js +267 -0
  34. package/dist/sdk/firmachain/cosmwasm/CosmWasmQueryClient.d.ts +52 -0
  35. package/dist/sdk/firmachain/cosmwasm/CosmWasmQueryClient.js +193 -0
  36. package/dist/sdk/firmachain/cosmwasm/CosmWasmTxClient.d.ts +37 -0
  37. package/dist/sdk/firmachain/cosmwasm/CosmWasmTxClient.js +56 -0
  38. package/dist/sdk/firmachain/cosmwasm/index.d.ts +3 -0
  39. package/dist/sdk/firmachain/cosmwasm/index.js +15 -0
  40. package/dist/sdk/firmachain/ibc/IbcQueryClient.d.ts +34 -0
  41. package/dist/sdk/firmachain/ibc/IbcQueryClient.js +71 -0
  42. package/dist/sdk/firmachain/ibc/IbcTxClient.d.ts +12 -0
  43. package/dist/sdk/firmachain/ibc/IbcTxClient.js +36 -0
  44. package/dist/sdk/firmachain/ibc/index.d.ts +3 -0
  45. package/dist/sdk/firmachain/ibc/index.js +15 -0
  46. package/dist/sdk/firmachain/staking/StakingQueryClient.d.ts +17 -4
  47. package/dist/sdk/firmachain/staking/StakingQueryClient.js +38 -18
  48. package/package.json +4 -2
  49. package/dist/sdk/firmachain/amino/secp256k1hdwallet.d.ts +0 -94
  50. package/dist/sdk/firmachain/amino/secp256k1hdwallet.js +0 -437
  51. package/dist/sdk/firmachain/amino/secp256k1wallet.d.ts +0 -23
  52. package/dist/sdk/firmachain/amino/secp256k1wallet.js +0 -141
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.SigningAminoStargateClient = exports.isMsgSignData = void 0;
58
+ var tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
59
+ //import { StdFee } from ".";
60
+ var accounts_1 = require("./accounts");
61
+ var stargateclient_1 = require("./stargateclient");
62
+ var axios_1 = __importDefault(require("axios"));
63
+ var any_1 = require("../google/protobuf/any");
64
+ var encoding_1 = require("@cosmjs/encoding");
65
+ var amino_1 = require("@cosmjs/amino");
66
+ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
67
+ var utils_1 = require("@cosmjs/utils");
68
+ var tx_1 = require("@cosmjs/launchpad/build/tx");
69
+ var amino_2 = require("@cosmjs/amino");
70
+ var crypto_1 = require("@cosmjs/crypto");
71
+ var crypto_2 = require("@cosmjs/crypto");
72
+ var utils_2 = require("@cosmjs/utils");
73
+ var encoding_2 = require("@cosmjs/encoding");
74
+ var amino_3 = require("@cosmjs/amino");
75
+ var FirmaUtil_1 = require("../../FirmaUtil");
76
+ function isMsgSignData(msg) {
77
+ var castedMsg = msg;
78
+ if (castedMsg.type !== "sign/MsgSignData")
79
+ return false;
80
+ if (!utils_1.isNonNullObject(castedMsg.value))
81
+ return false;
82
+ if (typeof castedMsg.value.signer !== "string")
83
+ return false;
84
+ if (typeof castedMsg.value.data !== "string")
85
+ return false;
86
+ return true;
87
+ }
88
+ exports.isMsgSignData = isMsgSignData;
89
+ var SigningAminoStargateClient = /** @class */ (function (_super) {
90
+ __extends(SigningAminoStargateClient, _super);
91
+ function SigningAminoStargateClient(tmClient, signer) {
92
+ var _this = _super.call(this, tmClient) || this;
93
+ _this.signer = signer;
94
+ return _this;
95
+ }
96
+ SigningAminoStargateClient.connectWithSigner = function (endpoint, signer, registry) {
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var tmClient;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ this._endpoint = endpoint;
103
+ return [4 /*yield*/, tendermint_rpc_1.Tendermint34Client.connect(endpoint)];
104
+ case 1:
105
+ tmClient = _a.sent();
106
+ return [2 /*return*/, new SigningAminoStargateClient(tmClient, signer)];
107
+ }
108
+ });
109
+ });
110
+ };
111
+ SigningAminoStargateClient.prototype.experimentalAdr36Sign = function (signerAddress, data) {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var accountNumber, sequence, chainId, fee, memo, datas, msgs, accountFromSigner, signDoc, _a, signature, signed, signatureResult, decodeData, jsonData;
114
+ return __generator(this, function (_b) {
115
+ switch (_b.label) {
116
+ case 0:
117
+ accountNumber = 0;
118
+ sequence = 0;
119
+ chainId = "";
120
+ fee = {
121
+ gas: "0",
122
+ amount: [],
123
+ //granter: "" // added by DH
124
+ };
125
+ memo = "";
126
+ datas = Array.isArray(data) ? data : [data];
127
+ msgs = datas.map(function (d) { return ({
128
+ type: "sign/MsgSignData",
129
+ value: {
130
+ signer: signerAddress,
131
+ data: encoding_1.toBase64(d),
132
+ },
133
+ }); });
134
+ return [4 /*yield*/, this.signer.getAccounts()];
135
+ case 1:
136
+ accountFromSigner = (_b.sent()).find(function (account) { return account.address === signerAddress; });
137
+ if (!accountFromSigner) {
138
+ throw new Error("Failed to retrieve account from signer");
139
+ }
140
+ signDoc = amino_1.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence);
141
+ return [4 /*yield*/, this.signer.signAmino(signerAddress, signDoc)];
142
+ case 2:
143
+ _a = _b.sent(), signature = _a.signature, signed = _a.signed;
144
+ if (!fast_deep_equal_1.default(signDoc, signed)) {
145
+ throw new Error("The signed document differs from the signing instruction. This is not supported for ADR-036.");
146
+ }
147
+ signatureResult = tx_1.makeStdTx(signDoc, signature);
148
+ decodeData = amino_1.decodeSignature(signatureResult.signatures[0]);
149
+ jsonData = {
150
+ type: "sign/MsgSignData",
151
+ signer: signatureResult.msg[0].value.signer,
152
+ data: signatureResult.msg[0].value.data,
153
+ pubkey: FirmaUtil_1.FirmaUtil.arrayBufferToBase64(decodeData.pubkey),
154
+ signature: FirmaUtil_1.FirmaUtil.arrayBufferToBase64(decodeData.signature)
155
+ };
156
+ return [2 /*return*/, jsonData];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ SigningAminoStargateClient.experimentalAdr36Verify = function (data, checkMsg) {
162
+ return __awaiter(this, void 0, void 0, function () {
163
+ var newSignature, signed, accountNumber, sequence, chainId, signedMessages, sourceMsg, signatures, signature, signBytes, prehashed, secpSignature, rawSecp256k1Pubkey, rawSignerAddress, ok;
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ newSignature = amino_1.encodeSecp256k1Signature(FirmaUtil_1.FirmaUtil.base64ToArrayBuffer(data.pubkey), FirmaUtil_1.FirmaUtil.base64ToArrayBuffer(data.signature));
168
+ signed = {
169
+ fee: {
170
+ gas: "0",
171
+ amount: [],
172
+ },
173
+ msg: [{
174
+ type: data.type,
175
+ value: { signer: data.signer, data: data.data }
176
+ }],
177
+ signatures: [newSignature],
178
+ memo: ""
179
+ };
180
+ // Restrictions from ADR-036
181
+ if (signed.memo !== "")
182
+ throw new Error("Memo must be empty.");
183
+ if (signed.fee.gas !== "0")
184
+ throw new Error("Fee gas must 0.");
185
+ if (signed.fee.amount.length !== 0)
186
+ throw new Error("Fee amount must be an empty array.");
187
+ accountNumber = 0;
188
+ sequence = 0;
189
+ chainId = "";
190
+ signedMessages = signed.msg;
191
+ if (!signedMessages.every(isMsgSignData)) {
192
+ throw new Error("Found message that is not the expected type.");
193
+ }
194
+ if (signedMessages.length === 0) {
195
+ throw new Error("No message found. Without messages we cannot determine the signer address.");
196
+ }
197
+ sourceMsg = Buffer.from(signedMessages[0].value.data, 'base64').toString();
198
+ if (sourceMsg !== checkMsg) {
199
+ throw new Error("Different Msg error. source:" + sourceMsg + ", target:" + checkMsg);
200
+ }
201
+ signatures = signed.signatures;
202
+ if (signatures.length !== 1)
203
+ throw new Error("Must have exactly one signature to be supported.");
204
+ signature = signatures[0];
205
+ if (!amino_2.isSecp256k1Pubkey(signature.pub_key)) {
206
+ throw new Error("Only secp256k1 signatures are supported.");
207
+ }
208
+ signBytes = amino_2.serializeSignDoc(amino_1.makeSignDoc(signed.msg, signed.fee, chainId, signed.memo, accountNumber, sequence));
209
+ prehashed = crypto_1.sha256(signBytes);
210
+ secpSignature = crypto_2.Secp256k1Signature.fromFixedLength(encoding_2.fromBase64(signature.signature));
211
+ rawSecp256k1Pubkey = encoding_2.fromBase64(signature.pub_key.value);
212
+ rawSignerAddress = amino_3.rawSecp256k1PubkeyToRawAddress(rawSecp256k1Pubkey);
213
+ if (signedMessages.some(function (msg) { return !utils_2.arrayContentEquals(encoding_1.Bech32.decode(msg.value.signer).data, rawSignerAddress); })) {
214
+ throw new Error("Found mismatch between signer in message and public key");
215
+ }
216
+ return [4 /*yield*/, crypto_2.Secp256k1.verifySignature(secpSignature, prehashed, rawSecp256k1Pubkey)];
217
+ case 1:
218
+ ok = _a.sent();
219
+ return [2 /*return*/, ok];
220
+ }
221
+ });
222
+ });
223
+ };
224
+ /**
225
+ * Takes a bech32 encoded address and returns the data part. The prefix is ignored and discarded.
226
+ * This is called AccAddress in Cosmos SDK, which is basically an alias for raw binary data.
227
+ * The result is typically 20 bytes long but not restricted to that.
228
+ */
229
+ SigningAminoStargateClient.prototype.toAccAddress = function (address) {
230
+ return encoding_1.Bech32.decode(address).data;
231
+ };
232
+ SigningAminoStargateClient.prototype.getAccount = function (address) {
233
+ return __awaiter(this, void 0, void 0, function () {
234
+ var accAddress, hexAccAddress, axios, path, result, finalData, account, finalAccount, error_1;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ _a.trys.push([0, 2, , 3]);
239
+ accAddress = this.toAccAddress(address);
240
+ hexAccAddress = "0x01" + Buffer.from(accAddress).toString("hex");
241
+ axios = axios_1.default.create({
242
+ baseURL: SigningAminoStargateClient._endpoint,
243
+ headers: {
244
+ Accept: "application/json",
245
+ },
246
+ timeout: 15000
247
+ });
248
+ path = "/abci_query?path=\"/store/acc/key\"";
249
+ return [4 /*yield*/, axios.get(path, { params: { data: hexAccAddress } })];
250
+ case 1:
251
+ result = _a.sent();
252
+ finalData = result.data.result.response.value;
253
+ account = any_1.Any.decode(Buffer.from(finalData, "base64"));
254
+ finalAccount = accounts_1.accountFromAny(account);
255
+ return [2 /*return*/, finalAccount];
256
+ case 2:
257
+ error_1 = _a.sent();
258
+ return [2 /*return*/, undefined];
259
+ case 3: return [2 /*return*/];
260
+ }
261
+ });
262
+ });
263
+ };
264
+ SigningAminoStargateClient._endpoint = "";
265
+ return SigningAminoStargateClient;
266
+ }(stargateclient_1.StargateClient));
267
+ exports.SigningAminoStargateClient = SigningAminoStargateClient;
@@ -0,0 +1,52 @@
1
+ export interface CodeInfo {
2
+ code_id: string;
3
+ creator: string;
4
+ data_hash: string;
5
+ }
6
+ export interface CodeData {
7
+ code_info: CodeInfo;
8
+ data: string;
9
+ }
10
+ export interface ContractInfo {
11
+ address: string;
12
+ contract_info: {
13
+ code_id: string;
14
+ creator: string;
15
+ admin: string;
16
+ label: string;
17
+ created: {
18
+ block_height: string;
19
+ tx_index: string;
20
+ };
21
+ ibc_port_id: string;
22
+ extension: {
23
+ "@type": string;
24
+ };
25
+ };
26
+ }
27
+ export interface ContractHistoryInfo {
28
+ operation: string;
29
+ code_id: string;
30
+ updated: {
31
+ block_height: string;
32
+ tx_index: string;
33
+ };
34
+ msg: string;
35
+ }
36
+ export interface ContractStateInfo {
37
+ key: string;
38
+ value: string;
39
+ }
40
+ export declare class CosmWasmQueryClient {
41
+ private readonly axios;
42
+ constructor(baseUrl: string);
43
+ getCodeInfoList(): Promise<CodeInfo[]>;
44
+ getCodeData(codeId: string): Promise<CodeData>;
45
+ getContractListFromCodeId(codeId: string): Promise<string[]>;
46
+ getContractInfo(contractAddress: string): Promise<ContractInfo>;
47
+ getContractHistory(contractAddress: string): Promise<ContractHistoryInfo[]>;
48
+ getContractRawQueryData(contractAddress: string, hexString: string): Promise<string>;
49
+ getContractSmartQueryData(contractAddress: string, query: string): Promise<string>;
50
+ getContractState(contractAddress: string): Promise<ContractStateInfo[]>;
51
+ getPinnedCodeList(): Promise<string[]>;
52
+ }
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.CosmWasmQueryClient = void 0;
43
+ var axios_1 = __importDefault(require("axios"));
44
+ var CosmWasmQueryClient = /** @class */ (function () {
45
+ function CosmWasmQueryClient(baseUrl) {
46
+ this.axios = axios_1.default.create({
47
+ baseURL: baseUrl,
48
+ headers: {
49
+ Accept: "application/json",
50
+ },
51
+ timeout: 15000,
52
+ });
53
+ }
54
+ CosmWasmQueryClient.prototype.getCodeInfoList = function () {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var path, result;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ path = "/cosmwasm/wasm/v1/code";
61
+ return [4 /*yield*/, this.axios.get(path)];
62
+ case 1:
63
+ result = _a.sent();
64
+ return [2 /*return*/, result.data.code_infos];
65
+ }
66
+ });
67
+ });
68
+ };
69
+ CosmWasmQueryClient.prototype.getCodeData = function (codeId) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var path, result;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ path = "/cosmwasm/wasm/v1/code/" + codeId;
76
+ return [4 /*yield*/, this.axios.get(path)];
77
+ case 1:
78
+ result = _a.sent();
79
+ return [2 /*return*/, result.data];
80
+ }
81
+ });
82
+ });
83
+ };
84
+ CosmWasmQueryClient.prototype.getContractListFromCodeId = function (codeId) {
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var path, result;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ path = "/cosmwasm/wasm/v1/code/" + codeId + "/contracts";
91
+ return [4 /*yield*/, this.axios.get(path)];
92
+ case 1:
93
+ result = _a.sent();
94
+ return [2 /*return*/, result.data.contracts];
95
+ }
96
+ });
97
+ });
98
+ };
99
+ CosmWasmQueryClient.prototype.getContractInfo = function (contractAddress) {
100
+ return __awaiter(this, void 0, void 0, function () {
101
+ var path, result;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ path = "/cosmwasm/wasm/v1/contract/" + contractAddress;
106
+ return [4 /*yield*/, this.axios.get(path)];
107
+ case 1:
108
+ result = _a.sent();
109
+ return [2 /*return*/, result.data];
110
+ }
111
+ });
112
+ });
113
+ };
114
+ CosmWasmQueryClient.prototype.getContractHistory = function (contractAddress) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var path, result;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ path = "/cosmwasm/wasm/v1/contract/" + contractAddress + "/history";
121
+ return [4 /*yield*/, this.axios.get(path)];
122
+ case 1:
123
+ result = _a.sent();
124
+ return [2 /*return*/, result.data.entries];
125
+ }
126
+ });
127
+ });
128
+ };
129
+ CosmWasmQueryClient.prototype.getContractRawQueryData = function (contractAddress, hexString) {
130
+ return __awaiter(this, void 0, void 0, function () {
131
+ var hexStringBase64, path, result;
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0:
135
+ hexStringBase64 = Buffer.from(hexString, 'hex').toString('base64');
136
+ path = "/cosmwasm/wasm/v1/contract/" + contractAddress + "/raw/" + hexStringBase64;
137
+ return [4 /*yield*/, this.axios.get(path)];
138
+ case 1:
139
+ result = _a.sent();
140
+ return [2 /*return*/, result.data];
141
+ }
142
+ });
143
+ });
144
+ };
145
+ CosmWasmQueryClient.prototype.getContractSmartQueryData = function (contractAddress, query) {
146
+ return __awaiter(this, void 0, void 0, function () {
147
+ var queryBase64, path, result;
148
+ return __generator(this, function (_a) {
149
+ switch (_a.label) {
150
+ case 0:
151
+ queryBase64 = Buffer.from(query, 'binary').toString('base64');
152
+ path = "/cosmwasm/wasm/v1/contract/" + contractAddress + "/smart/" + queryBase64;
153
+ return [4 /*yield*/, this.axios.get(path)];
154
+ case 1:
155
+ result = _a.sent();
156
+ return [2 /*return*/, result.data.data];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ CosmWasmQueryClient.prototype.getContractState = function (contractAddress) {
162
+ return __awaiter(this, void 0, void 0, function () {
163
+ var path, result;
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ path = "/cosmwasm/wasm/v1/contract/" + contractAddress + "/state";
168
+ return [4 /*yield*/, this.axios.get(path)];
169
+ case 1:
170
+ result = _a.sent();
171
+ return [2 /*return*/, result.data.models];
172
+ }
173
+ });
174
+ });
175
+ };
176
+ CosmWasmQueryClient.prototype.getPinnedCodeList = function () {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ var path, result;
179
+ return __generator(this, function (_a) {
180
+ switch (_a.label) {
181
+ case 0:
182
+ path = "/cosmwasm/wasm/v1/codes/pinned";
183
+ return [4 /*yield*/, this.axios.get(path)];
184
+ case 1:
185
+ result = _a.sent();
186
+ return [2 /*return*/, result.data.code_ids];
187
+ }
188
+ });
189
+ });
190
+ };
191
+ return CosmWasmQueryClient;
192
+ }());
193
+ exports.CosmWasmQueryClient = CosmWasmQueryClient;
@@ -0,0 +1,37 @@
1
+ import { EncodeObject } from "@cosmjs/proto-signing";
2
+ import { ITxClient } from "../common/ITxClient";
3
+ import { FirmaWalletService } from "../../FirmaWalletService";
4
+ import { MsgClearAdmin, MsgExecuteContract, MsgMigrateContract, MsgStoreCode, MsgInstantiateContract, MsgUpdateAdmin } from "cosmjs-types/cosmwasm/wasm/v1/tx";
5
+ export interface MsgStoreCodeEncodeObject extends EncodeObject {
6
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgStoreCode";
7
+ readonly value: Partial<MsgStoreCode>;
8
+ }
9
+ export interface MsgInstantiateContractEncodeObject extends EncodeObject {
10
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgInstantiateContract";
11
+ readonly value: Partial<MsgInstantiateContract>;
12
+ }
13
+ export interface MsgUpdateAdminEncodeObject extends EncodeObject {
14
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgUpdateAdmin";
15
+ readonly value: Partial<MsgUpdateAdmin>;
16
+ }
17
+ export interface MsgClearAdminEncodeObject extends EncodeObject {
18
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgClearAdmin";
19
+ readonly value: Partial<MsgClearAdmin>;
20
+ }
21
+ export interface MsgMigrateContractEncodeObject extends EncodeObject {
22
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgMigrateContract";
23
+ readonly value: Partial<MsgMigrateContract>;
24
+ }
25
+ export interface MsgExecuteContractEncodeObject extends EncodeObject {
26
+ readonly typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract";
27
+ readonly value: Partial<MsgExecuteContract>;
28
+ }
29
+ export declare class CosmWasmTxClient extends ITxClient {
30
+ constructor(wallet: FirmaWalletService, serverUrl: string);
31
+ msgStoreCode(data: MsgStoreCode): MsgStoreCodeEncodeObject;
32
+ msgInstantiateContract(data: MsgInstantiateContract): MsgInstantiateContractEncodeObject;
33
+ msgExecuteContract(data: MsgExecuteContract): MsgExecuteContractEncodeObject;
34
+ msgUpdateAdmin(data: MsgUpdateAdmin): MsgUpdateAdminEncodeObject;
35
+ msgClearAdmin(data: MsgClearAdmin): MsgClearAdminEncodeObject;
36
+ msgMigrateContract(data: MsgMigrateContract): MsgMigrateContractEncodeObject;
37
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CosmWasmTxClient = void 0;
19
+ var proto_signing_1 = require("@cosmjs/proto-signing");
20
+ var ITxClient_1 = require("../common/ITxClient");
21
+ var tx_1 = require("cosmjs-types/cosmwasm/wasm/v1/tx");
22
+ var types = [
23
+ ["/cosmwasm.wasm.v1.MsgStoreCode", tx_1.MsgStoreCode],
24
+ ["/cosmwasm.wasm.v1.MsgInstantiateContract", tx_1.MsgInstantiateContract],
25
+ ["/cosmwasm.wasm.v1.MsgExecuteContract", tx_1.MsgExecuteContract],
26
+ ["/cosmwasm.wasm.v1.MsgUpdateAdmin", tx_1.MsgUpdateAdmin],
27
+ ["/cosmwasm.wasm.v1.MsgClearAdmin", tx_1.MsgClearAdmin],
28
+ ["/cosmwasm.wasm.v1.MsgMigrateContract", tx_1.MsgMigrateContract],
29
+ ];
30
+ var registry = new proto_signing_1.Registry(types);
31
+ var CosmWasmTxClient = /** @class */ (function (_super) {
32
+ __extends(CosmWasmTxClient, _super);
33
+ function CosmWasmTxClient(wallet, serverUrl) {
34
+ return _super.call(this, wallet, serverUrl, registry) || this;
35
+ }
36
+ CosmWasmTxClient.prototype.msgStoreCode = function (data) {
37
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgStoreCode", value: data };
38
+ };
39
+ CosmWasmTxClient.prototype.msgInstantiateContract = function (data) {
40
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgInstantiateContract", value: data };
41
+ };
42
+ CosmWasmTxClient.prototype.msgExecuteContract = function (data) {
43
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract", value: data };
44
+ };
45
+ CosmWasmTxClient.prototype.msgUpdateAdmin = function (data) {
46
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgUpdateAdmin", value: data };
47
+ };
48
+ CosmWasmTxClient.prototype.msgClearAdmin = function (data) {
49
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgClearAdmin", value: data };
50
+ };
51
+ CosmWasmTxClient.prototype.msgMigrateContract = function (data) {
52
+ return { typeUrl: "/cosmwasm.wasm.v1.MsgMigrateContract", value: data };
53
+ };
54
+ return CosmWasmTxClient;
55
+ }(ITxClient_1.ITxClient));
56
+ exports.CosmWasmTxClient = CosmWasmTxClient;
@@ -0,0 +1,3 @@
1
+ export * from './CosmWasmTxClient';
2
+ export * from './CosmWasmQueryClient';
3
+ export * from '../common';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./CosmWasmTxClient"), exports);
14
+ __exportStar(require("./CosmWasmQueryClient"), exports);
15
+ __exportStar(require("../common"), exports);
@@ -0,0 +1,34 @@
1
+ export interface ClientState {
2
+ identified_client_state: {
3
+ client_id: string;
4
+ client_state: {
5
+ "@type": "string";
6
+ chain_id: string;
7
+ trust_level: {
8
+ numerator: string;
9
+ denominator: string;
10
+ };
11
+ trusting_period: string;
12
+ unbonding_period: string;
13
+ max_clock_drift: string;
14
+ frozen_height: {
15
+ revision_number: string;
16
+ revision_height: string;
17
+ };
18
+ latest_height: {
19
+ revision_number: string;
20
+ revision_height: string;
21
+ };
22
+ };
23
+ };
24
+ proof: string;
25
+ proof_height: {
26
+ revision_number: string;
27
+ revision_height: string;
28
+ };
29
+ }
30
+ export declare class IbcQueryClient {
31
+ private readonly axios;
32
+ constructor(baseUrl: string);
33
+ getClientState(sourceChannel: string, sourcePort: string): Promise<ClientState>;
34
+ }