@keplr-wallet/chain-validator 0.12.0-alpha.0 → 0.12.0-alpha.3
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 +8 -2
- package/build/connection.d.ts +8 -1
- package/build/connection.js +34 -18
- package/build/connection.js.map +1 -1
- package/build/feature.d.ts +29 -0
- package/build/feature.js +154 -0
- package/build/feature.js.map +1 -0
- package/build/feature.spec.d.ts +1 -0
- package/build/feature.spec.js +377 -0
- package/build/feature.spec.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +6 -1
- package/build/index.js.map +1 -1
- package/build/schema.d.ts +5 -10
- package/build/schema.js +23 -24
- package/build/schema.js.map +1 -1
- package/build/schema.spec.js +84 -0
- package/build/schema.spec.js.map +1 -1
- package/package.json +5 -6
- package/src/connection.ts +58 -33
- package/src/feature.spec.ts +457 -0
- package/src/feature.ts +198 -0
- package/src/index.ts +1 -0
- package/src/schema.spec.ts +94 -0
- package/src/schema.ts +31 -28
|
@@ -0,0 +1,377 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const http_1 = __importDefault(require("http"));
|
|
16
|
+
const feature_1 = require("./feature");
|
|
17
|
+
const createMockServer = (ibcGoSuccess, ibcTransferSuccess, WasmSuccess, SpendableBalancesSuccess) => {
|
|
18
|
+
let i = 0;
|
|
19
|
+
const server = http_1.default.createServer((req, resp) => {
|
|
20
|
+
i++;
|
|
21
|
+
if (req.url === "/ibc/apps/transfer/v1/params") {
|
|
22
|
+
resp.writeHead(ibcGoSuccess ? 200 : 501, {
|
|
23
|
+
"content-type": "text/json",
|
|
24
|
+
});
|
|
25
|
+
resp.end(JSON.stringify({
|
|
26
|
+
params: { receive_enabled: ibcGoSuccess, send_enabled: ibcGoSuccess },
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
if (req.url === "/ibc/applications/transfer/v1beta1/params") {
|
|
30
|
+
resp.writeHead(200, {
|
|
31
|
+
"content-type": "text/json",
|
|
32
|
+
});
|
|
33
|
+
resp.end(JSON.stringify({
|
|
34
|
+
params: {
|
|
35
|
+
receive_enabled: ibcTransferSuccess,
|
|
36
|
+
send_enabled: ibcTransferSuccess,
|
|
37
|
+
},
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
if (req.url === "/cosmwasm/wasm/v1/contract/test/smart/test") {
|
|
41
|
+
resp.writeHead(WasmSuccess ? 400 : 501);
|
|
42
|
+
resp.end();
|
|
43
|
+
}
|
|
44
|
+
if (req.url === "/cosmos/bank/v1beta1/spendable_balances/test") {
|
|
45
|
+
resp.writeHead(SpendableBalancesSuccess ? 400 : 501);
|
|
46
|
+
resp.end();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
server.listen();
|
|
50
|
+
const address = server.address();
|
|
51
|
+
if (!address || typeof address === "string") {
|
|
52
|
+
throw new Error("Failed to get address for server");
|
|
53
|
+
}
|
|
54
|
+
const port = address.port;
|
|
55
|
+
return {
|
|
56
|
+
port,
|
|
57
|
+
closeServer: () => {
|
|
58
|
+
server.close();
|
|
59
|
+
},
|
|
60
|
+
getQueryCount: () => i,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
describe("The chain server supports all features(체인 서버가 모든 기능을 지원할 때)", () => {
|
|
64
|
+
let port = -1;
|
|
65
|
+
let closeServer;
|
|
66
|
+
let getQueryCount;
|
|
67
|
+
beforeEach(() => {
|
|
68
|
+
const server = createMockServer(true, true, true, true);
|
|
69
|
+
port = server.port;
|
|
70
|
+
closeServer = server.closeServer;
|
|
71
|
+
getQueryCount = server.getQueryCount;
|
|
72
|
+
});
|
|
73
|
+
afterEach(() => {
|
|
74
|
+
if (closeServer) {
|
|
75
|
+
closeServer();
|
|
76
|
+
closeServer = undefined;
|
|
77
|
+
}
|
|
78
|
+
getQueryCount = undefined;
|
|
79
|
+
});
|
|
80
|
+
test("test features has no duplication", () => {
|
|
81
|
+
let f = {};
|
|
82
|
+
for (const feature of feature_1.SupportedChainFeatures) {
|
|
83
|
+
if (f[feature]) {
|
|
84
|
+
throw new Error(`${feature} is duplicated on SupportedChainFeatures`);
|
|
85
|
+
}
|
|
86
|
+
f[feature] = true;
|
|
87
|
+
}
|
|
88
|
+
f = {};
|
|
89
|
+
for (const feature of feature_1.RecognizableChainFeatures) {
|
|
90
|
+
if (f[feature]) {
|
|
91
|
+
throw new Error(`${feature} is duplicated on RecognizableChainFeatures`);
|
|
92
|
+
}
|
|
93
|
+
f[feature] = true;
|
|
94
|
+
}
|
|
95
|
+
f = {};
|
|
96
|
+
for (const feature of feature_1.NonRecognizableChainFeatures) {
|
|
97
|
+
if (f[feature]) {
|
|
98
|
+
throw new Error(`${feature} is duplicated on NonRecognizableChainFeatures`);
|
|
99
|
+
}
|
|
100
|
+
f[feature] = true;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
test("test SupportedChainFeatures contains RecognizableChainFeatures/NonRecognizableChainFeatures", () => {
|
|
104
|
+
const f = {};
|
|
105
|
+
for (const feature of feature_1.RecognizableChainFeatures) {
|
|
106
|
+
if (f[feature]) {
|
|
107
|
+
throw new Error(`${feature} is duplicated on RecognizableChainFeatures`);
|
|
108
|
+
}
|
|
109
|
+
f[feature] = true;
|
|
110
|
+
}
|
|
111
|
+
for (const feature of feature_1.NonRecognizableChainFeatures) {
|
|
112
|
+
if (f[feature]) {
|
|
113
|
+
throw new Error(`${feature} is duplicated on RecognizableChainFeatures/NonRecognizableChainFeatures`);
|
|
114
|
+
}
|
|
115
|
+
f[feature] = true;
|
|
116
|
+
}
|
|
117
|
+
expect(Object.keys(f).sort()).toStrictEqual(feature_1.SupportedChainFeatures.sort());
|
|
118
|
+
});
|
|
119
|
+
test("hasFeature should not make query if chain info already include feature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
|
+
const mockChainInfoForCheck = {
|
|
121
|
+
rpc: "noop",
|
|
122
|
+
rest: `http://127.0.0.1:${port}`,
|
|
123
|
+
features: ["ibc-go"],
|
|
124
|
+
};
|
|
125
|
+
expect(yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-go")).toEqual(true);
|
|
126
|
+
expect(getQueryCount()).toEqual(0);
|
|
127
|
+
}));
|
|
128
|
+
test("checkChainFeatures should not make query if chain info already include feature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
+
const mockChainInfoForCheck = {
|
|
130
|
+
rpc: "noop",
|
|
131
|
+
rest: `http://127.0.0.1:${port}`,
|
|
132
|
+
features: ["ibc-go"],
|
|
133
|
+
};
|
|
134
|
+
expect(yield (0, feature_1.checkChainFeatures)(mockChainInfoForCheck)).toEqual([
|
|
135
|
+
"ibc-transfer",
|
|
136
|
+
"query:/cosmos/bank/v1beta1/spendable_balances",
|
|
137
|
+
]);
|
|
138
|
+
expect(getQueryCount()).toEqual(2);
|
|
139
|
+
}));
|
|
140
|
+
/**
|
|
141
|
+
* @Given The server support all features, No input JSON feature
|
|
142
|
+
* @When When you input 'ibc-go' feature in 'hasFeature' function
|
|
143
|
+
* @Then return true
|
|
144
|
+
*/
|
|
145
|
+
test("When you input 'ibc-go' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
const mockChainInfoForCheck = {
|
|
147
|
+
rpc: "noop",
|
|
148
|
+
rest: `http://127.0.0.1:${port}`,
|
|
149
|
+
features: [],
|
|
150
|
+
};
|
|
151
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-go");
|
|
152
|
+
expect(feature).toEqual(true);
|
|
153
|
+
}));
|
|
154
|
+
/**
|
|
155
|
+
* @Given The server support all features, No input JSON feature
|
|
156
|
+
* @When When you input 'ibc-transfer' feature in 'hasFeature' function
|
|
157
|
+
* @Then return true
|
|
158
|
+
*/
|
|
159
|
+
test("When you input 'ibc-transfer' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
const mockChainInfoForCheck = {
|
|
161
|
+
rpc: "noop",
|
|
162
|
+
rest: `http://127.0.0.1:${port}`,
|
|
163
|
+
features: [],
|
|
164
|
+
};
|
|
165
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-transfer");
|
|
166
|
+
expect(feature).toEqual(true);
|
|
167
|
+
}));
|
|
168
|
+
/**
|
|
169
|
+
* @Given The server support all features, Input 'ibc-go' in JSON feature
|
|
170
|
+
* @When When you input 'ibc-transfer' feature in 'hasFeature' function
|
|
171
|
+
* @Then return true
|
|
172
|
+
*/
|
|
173
|
+
test("When you input 'ibc-transfer' feature in 'hasFeature' function(Input 'ibc-go' in JSON feature)", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
174
|
+
const mockChainInfoForCheck = {
|
|
175
|
+
rpc: "noop",
|
|
176
|
+
rest: `http://127.0.0.1:${port}`,
|
|
177
|
+
features: ["ibc-go"],
|
|
178
|
+
};
|
|
179
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-transfer");
|
|
180
|
+
expect(feature).toEqual(true);
|
|
181
|
+
}));
|
|
182
|
+
/**
|
|
183
|
+
* @Given The server support all features, No input JSON feature
|
|
184
|
+
* @When When you input 'wasmd_0.24+' feature in 'hasFeature' function
|
|
185
|
+
* @Then return false
|
|
186
|
+
*/
|
|
187
|
+
test("When you input 'wasmd_0.24+' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
188
|
+
const mockChainInfoForCheck = {
|
|
189
|
+
rpc: "noop",
|
|
190
|
+
rest: `http://127.0.0.1:${port}`,
|
|
191
|
+
features: [],
|
|
192
|
+
};
|
|
193
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "wasmd_0.24+");
|
|
194
|
+
expect(feature).toEqual(false);
|
|
195
|
+
}));
|
|
196
|
+
/**
|
|
197
|
+
* @Given The server support all features, Input 'cosmwasm' in JSON feature
|
|
198
|
+
* @When When you input 'wasmd_0.24+' feature in 'hasFeature' function
|
|
199
|
+
* @Then return "wasmd_0.24+" string
|
|
200
|
+
*/
|
|
201
|
+
test("When you input 'wasmd_0.24+' feature in 'hasFeature' function with 'cosmwasm' feature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
202
|
+
const mockChainInfoForCheck = {
|
|
203
|
+
rpc: "noop",
|
|
204
|
+
rest: `http://127.0.0.1:${port}`,
|
|
205
|
+
features: ["cosmwasm"],
|
|
206
|
+
};
|
|
207
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "wasmd_0.24+");
|
|
208
|
+
expect(feature).toEqual(true);
|
|
209
|
+
}));
|
|
210
|
+
/**
|
|
211
|
+
* @Given The server support all features, No input JSON feature
|
|
212
|
+
* @When When you input 'query:/cosmos/bank/v1beta1/spendable_balances' feature in 'hasFeature' function
|
|
213
|
+
* @Then return true
|
|
214
|
+
*/
|
|
215
|
+
test("When you input 'query:/cosmos/bank/v1beta1/spendable_balances' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
216
|
+
const mockChainInfoForCheck = {
|
|
217
|
+
rpc: "noop",
|
|
218
|
+
rest: `http://127.0.0.1:${port}`,
|
|
219
|
+
features: [],
|
|
220
|
+
};
|
|
221
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "query:/cosmos/bank/v1beta1/spendable_balances");
|
|
222
|
+
expect(feature).toEqual(true);
|
|
223
|
+
}));
|
|
224
|
+
/**
|
|
225
|
+
* @Given The server support all features
|
|
226
|
+
* @When When you input that there are no supported features
|
|
227
|
+
* @Then return "ibc-go", "ibc-transfer", "query:/cosmos/bank/v1beta1/spendable_balances", features
|
|
228
|
+
*/
|
|
229
|
+
test("When you input that there are no supported features(지원하는 기능이 없다고 입력했을 때)", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
230
|
+
const mockChainInfoForCheck = {
|
|
231
|
+
rpc: "noop",
|
|
232
|
+
rest: `http://127.0.0.1:${port}`,
|
|
233
|
+
features: [],
|
|
234
|
+
};
|
|
235
|
+
const features = yield (0, feature_1.checkChainFeatures)(mockChainInfoForCheck);
|
|
236
|
+
expect(features).toEqual([
|
|
237
|
+
"ibc-go",
|
|
238
|
+
"ibc-transfer",
|
|
239
|
+
"query:/cosmos/bank/v1beta1/spendable_balances",
|
|
240
|
+
]);
|
|
241
|
+
}));
|
|
242
|
+
/**
|
|
243
|
+
* @Given The server support all features
|
|
244
|
+
* @When When you input undefined in supported features
|
|
245
|
+
* @Then return "ibc-go", "ibc-transfer", "query:/cosmos/bank/v1beta1/spendable_balances", features
|
|
246
|
+
*/
|
|
247
|
+
test("When you input undefined in supported features", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
248
|
+
const mockChainInfoForCheck = {
|
|
249
|
+
rpc: "noop",
|
|
250
|
+
rest: `http://127.0.0.1:${port}`,
|
|
251
|
+
features: undefined,
|
|
252
|
+
};
|
|
253
|
+
const features = yield (0, feature_1.checkChainFeatures)(mockChainInfoForCheck);
|
|
254
|
+
expect(features).toEqual([
|
|
255
|
+
"ibc-go",
|
|
256
|
+
"ibc-transfer",
|
|
257
|
+
"query:/cosmos/bank/v1beta1/spendable_balances",
|
|
258
|
+
]);
|
|
259
|
+
}));
|
|
260
|
+
/**
|
|
261
|
+
* @Given The server support all features
|
|
262
|
+
* @When When you input that there is 'cosmwasm' feature
|
|
263
|
+
* @Then return all features
|
|
264
|
+
*/
|
|
265
|
+
test("When you input that there is 'cosmwasm' feature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
266
|
+
const mockChainInfoForCheck = {
|
|
267
|
+
rpc: "noop",
|
|
268
|
+
rest: `http://127.0.0.1:${port}`,
|
|
269
|
+
features: ["cosmwasm"],
|
|
270
|
+
};
|
|
271
|
+
const features = yield (0, feature_1.checkChainFeatures)(mockChainInfoForCheck);
|
|
272
|
+
expect(features).toEqual([
|
|
273
|
+
"ibc-go",
|
|
274
|
+
"ibc-transfer",
|
|
275
|
+
"wasmd_0.24+",
|
|
276
|
+
"query:/cosmos/bank/v1beta1/spendable_balances",
|
|
277
|
+
]);
|
|
278
|
+
}));
|
|
279
|
+
});
|
|
280
|
+
describe("The chain server doesn't support all features(체인 서버가 모든 기능을 지원하지 않을 때)", () => {
|
|
281
|
+
let port = -1;
|
|
282
|
+
let closeServer;
|
|
283
|
+
beforeEach(() => {
|
|
284
|
+
const server = createMockServer(false, false, false, false);
|
|
285
|
+
port = server.port;
|
|
286
|
+
closeServer = server.closeServer;
|
|
287
|
+
});
|
|
288
|
+
afterEach(() => {
|
|
289
|
+
if (closeServer) {
|
|
290
|
+
closeServer();
|
|
291
|
+
closeServer = undefined;
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
/**
|
|
295
|
+
* @Given The server doesn't support all features, No input JSON feature
|
|
296
|
+
* @When When you input 'ibc-go' feature in 'hasFeature' function
|
|
297
|
+
* @Then return "Failed to get response /ibc/apps/transfer/v1/params from lcd endpoint" error string
|
|
298
|
+
*/
|
|
299
|
+
test("When you input 'ibc-go' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
300
|
+
const mockChainInfoForCheck = {
|
|
301
|
+
rpc: "noop",
|
|
302
|
+
rest: `http://127.0.0.1:${port}`,
|
|
303
|
+
features: [],
|
|
304
|
+
};
|
|
305
|
+
expect(yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-go")).toEqual(false);
|
|
306
|
+
}));
|
|
307
|
+
/**
|
|
308
|
+
* @Given The server doesn't support all features, No input JSON feature
|
|
309
|
+
* @When When you input 'ibc-transfer' feature in 'hasFeature' function
|
|
310
|
+
* @Then return undefined
|
|
311
|
+
*/
|
|
312
|
+
test("When you input 'ibc-transfer' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
313
|
+
const mockChainInfoForCheck = {
|
|
314
|
+
rpc: "noop",
|
|
315
|
+
rest: `http://127.0.0.1:${port}`,
|
|
316
|
+
features: [],
|
|
317
|
+
};
|
|
318
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-transfer");
|
|
319
|
+
expect(feature).toEqual(false);
|
|
320
|
+
}));
|
|
321
|
+
/**
|
|
322
|
+
* @Given The server doesn't support all features, Input 'ibc-go' in JSON feature
|
|
323
|
+
* @When When you input 'ibc-transfer' feature in 'hasFeature' function
|
|
324
|
+
* @Then return "Failed to get response /ibc/apps/transfer/v1/params from lcd endpoint" error string
|
|
325
|
+
*/
|
|
326
|
+
test("When you input 'ibc-transfer' feature in 'hasFeature' function(Input 'ibc-go' in JSON feature)", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
327
|
+
const mockChainInfoForCheck = {
|
|
328
|
+
rpc: "noop",
|
|
329
|
+
rest: `http://127.0.0.1:${port}`,
|
|
330
|
+
features: ["ibc-go"],
|
|
331
|
+
};
|
|
332
|
+
expect(yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "ibc-transfer")).toBe(false);
|
|
333
|
+
}));
|
|
334
|
+
/**
|
|
335
|
+
* @Given The server doesn't support all features, No input JSON feature
|
|
336
|
+
* @When When you input 'wasmd_0.24+' feature in 'hasFeature' function
|
|
337
|
+
* @Then return undefined
|
|
338
|
+
*/
|
|
339
|
+
test("When you input 'wasmd_0.24+' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
340
|
+
const mockChainInfoForCheck = {
|
|
341
|
+
rpc: "noop",
|
|
342
|
+
rest: `http://127.0.0.1:${port}`,
|
|
343
|
+
features: [],
|
|
344
|
+
};
|
|
345
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "wasmd_0.24+");
|
|
346
|
+
expect(feature).toEqual(false);
|
|
347
|
+
}));
|
|
348
|
+
/**
|
|
349
|
+
* @Given The server doesn't support all features, Input 'cosmwasm' in JSON feature
|
|
350
|
+
* @When When you input 'wasmd_0.24+' feature in 'hasFeature' function
|
|
351
|
+
* @Then return undefined
|
|
352
|
+
*/
|
|
353
|
+
test("When you input 'wasmd_0.24+' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
354
|
+
const mockChainInfoForCheck = {
|
|
355
|
+
rpc: "noop",
|
|
356
|
+
rest: `http://127.0.0.1:${port}`,
|
|
357
|
+
features: ["cosmwasm"],
|
|
358
|
+
};
|
|
359
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "wasmd_0.24+");
|
|
360
|
+
expect(feature).toEqual(false);
|
|
361
|
+
}));
|
|
362
|
+
/**
|
|
363
|
+
* @Given The server doesn't support all features, No input JSON feature
|
|
364
|
+
* @When When you input 'query:/cosmos/bank/v1beta1/spendable_balances' feature in 'hasFeature' function
|
|
365
|
+
* @Then return undefined
|
|
366
|
+
*/
|
|
367
|
+
test("When you input 'query:/cosmos/bank/v1beta1/spendable_balances' feature in 'hasFeature' function", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
368
|
+
const mockChainInfoForCheck = {
|
|
369
|
+
rpc: "noop",
|
|
370
|
+
rest: `http://127.0.0.1:${port}`,
|
|
371
|
+
features: [],
|
|
372
|
+
};
|
|
373
|
+
const feature = yield (0, feature_1.hasFeature)(mockChainInfoForCheck, "query:/cosmos/bank/v1beta1/spendable_balances");
|
|
374
|
+
expect(feature).toEqual(false);
|
|
375
|
+
}));
|
|
376
|
+
});
|
|
377
|
+
//# sourceMappingURL=feature.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature.spec.js","sourceRoot":"","sources":["../src/feature.spec.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./schema"), exports);
|
|
14
18
|
__exportStar(require("./basic"), exports);
|
|
15
19
|
__exportStar(require("./connection"), exports);
|
|
20
|
+
__exportStar(require("./feature"), exports);
|
|
16
21
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,+CAA6B;AAC7B,4CAA0B"}
|
package/build/schema.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { Bech32Config, ChainInfo, Currency, CW20Currency, Secret20Currency } from "@keplr-wallet/types";
|
|
1
|
+
import { Bech32Config, ChainInfo, Currency, CW20Currency, Secret20Currency, WithGasPriceStep } from "@keplr-wallet/types";
|
|
2
2
|
import Joi from "joi";
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
3
|
+
export declare const CurrencySchema: Joi.ObjectSchema<Currency & {
|
|
4
|
+
type?: undefined;
|
|
5
|
+
}>;
|
|
5
6
|
export declare const CW20CurrencySchema: Joi.ObjectSchema<CW20Currency>;
|
|
6
7
|
export declare const Secret20CurrencySchema: Joi.ObjectSchema<Secret20Currency>;
|
|
7
|
-
export declare const FeeCurrencySchema: Joi.ObjectSchema<Currency
|
|
8
|
-
readonly gasPriceStep?: {
|
|
9
|
-
readonly low: number;
|
|
10
|
-
readonly average: number;
|
|
11
|
-
readonly high: number;
|
|
12
|
-
} | undefined;
|
|
13
|
-
}>;
|
|
8
|
+
export declare const FeeCurrencySchema: Joi.ObjectSchema<WithGasPriceStep<Currency>>;
|
|
14
9
|
export declare const Bech32ConfigSchema: Joi.ObjectSchema<Bech32Config>;
|
|
15
10
|
export declare const SuggestingBIP44Schema: Joi.ObjectSchema<{
|
|
16
11
|
coinType: number;
|
package/build/schema.js
CHANGED
|
@@ -3,28 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ChainInfoSchema = exports.SuggestingBIP44Schema = exports.Bech32ConfigSchema = exports.FeeCurrencySchema = exports.Secret20CurrencySchema = exports.CW20CurrencySchema = exports.CurrencySchema =
|
|
6
|
+
exports.ChainInfoSchema = exports.SuggestingBIP44Schema = exports.Bech32ConfigSchema = exports.FeeCurrencySchema = exports.Secret20CurrencySchema = exports.CW20CurrencySchema = exports.CurrencySchema = void 0;
|
|
7
|
+
const feature_1 = require("./feature");
|
|
7
8
|
const joi_1 = __importDefault(require("joi"));
|
|
8
|
-
exports.SupportedChainFeatures = [
|
|
9
|
-
"stargate",
|
|
10
|
-
"cosmwasm",
|
|
11
|
-
"wasmd_0.24+",
|
|
12
|
-
"secretwasm",
|
|
13
|
-
"ibc-transfer",
|
|
14
|
-
"no-legacy-stdTx",
|
|
15
|
-
"ibc-go",
|
|
16
|
-
"eth-address-gen",
|
|
17
|
-
"eth-key-sign",
|
|
18
|
-
"query:/cosmos/bank/v1beta1/spendable_balances",
|
|
19
|
-
"axelar-evm-bridge",
|
|
20
|
-
"osmosis-txfees",
|
|
21
|
-
];
|
|
22
9
|
exports.CurrencySchema = joi_1.default.object({
|
|
23
10
|
coinDenom: joi_1.default.string().required(),
|
|
24
11
|
coinMinimalDenom: joi_1.default.string().required(),
|
|
25
|
-
coinDecimals: joi_1.default.number().integer().min(0).max(18).required(),
|
|
12
|
+
coinDecimals: joi_1.default.number().strict().integer().min(0).max(18).required(),
|
|
26
13
|
coinGeckoId: joi_1.default.string(),
|
|
27
14
|
coinImageUrl: joi_1.default.string().uri(),
|
|
15
|
+
}).keys({
|
|
16
|
+
type: joi_1.default.forbidden(),
|
|
28
17
|
});
|
|
29
18
|
exports.CW20CurrencySchema = exports.CurrencySchema
|
|
30
19
|
.keys({
|
|
@@ -54,9 +43,9 @@ exports.Secret20CurrencySchema = exports.CurrencySchema
|
|
|
54
43
|
}
|
|
55
44
|
});
|
|
56
45
|
const GasPriceStepSchema = joi_1.default.object({
|
|
57
|
-
low: joi_1.default.number().required(),
|
|
58
|
-
average: joi_1.default.number().required(),
|
|
59
|
-
high: joi_1.default.number().required(),
|
|
46
|
+
low: joi_1.default.number().strict().required(),
|
|
47
|
+
average: joi_1.default.number().strict().required(),
|
|
48
|
+
high: joi_1.default.number().strict().required(),
|
|
60
49
|
}).custom((value) => {
|
|
61
50
|
if (value.low > value.average) {
|
|
62
51
|
throw new Error("Low gas price step can not be greater than average");
|
|
@@ -78,7 +67,8 @@ exports.Bech32ConfigSchema = joi_1.default.object({
|
|
|
78
67
|
bech32PrefixConsPub: joi_1.default.string().required(),
|
|
79
68
|
});
|
|
80
69
|
exports.SuggestingBIP44Schema = joi_1.default.object({
|
|
81
|
-
coinType: joi_1.default.number().integer().min(0).required(),
|
|
70
|
+
coinType: joi_1.default.number().strict().integer().min(0).required(),
|
|
71
|
+
// Alow the any keys for compatibility of cosmosJS's BIP44 (for legacy).
|
|
82
72
|
}).unknown(true);
|
|
83
73
|
exports.ChainInfoSchema = joi_1.default.object({
|
|
84
74
|
rpc: joi_1.default.string()
|
|
@@ -90,7 +80,6 @@ exports.ChainInfoSchema = joi_1.default.object({
|
|
|
90
80
|
return value;
|
|
91
81
|
})
|
|
92
82
|
.required(),
|
|
93
|
-
// TODO: Handle rpc config.
|
|
94
83
|
rest: joi_1.default.string()
|
|
95
84
|
.uri()
|
|
96
85
|
.custom((value) => {
|
|
@@ -100,7 +89,17 @@ exports.ChainInfoSchema = joi_1.default.object({
|
|
|
100
89
|
return value;
|
|
101
90
|
})
|
|
102
91
|
.required(),
|
|
103
|
-
|
|
92
|
+
nodeProvider: joi_1.default.object({
|
|
93
|
+
name: joi_1.default.string().min(1).max(30).required(),
|
|
94
|
+
email: joi_1.default.string()
|
|
95
|
+
.email({
|
|
96
|
+
tlds: {
|
|
97
|
+
allow: false,
|
|
98
|
+
},
|
|
99
|
+
})
|
|
100
|
+
.required(),
|
|
101
|
+
website: joi_1.default.string().uri(),
|
|
102
|
+
}),
|
|
104
103
|
chainId: joi_1.default.string().required().min(1).max(30),
|
|
105
104
|
chainName: joi_1.default.string().required().min(1).max(30),
|
|
106
105
|
stakeCurrency: exports.CurrencySchema.required(),
|
|
@@ -148,10 +147,9 @@ exports.ChainInfoSchema = joi_1.default.object({
|
|
|
148
147
|
return values;
|
|
149
148
|
})
|
|
150
149
|
.required(),
|
|
151
|
-
coinType: joi_1.default.number().integer(),
|
|
152
150
|
beta: joi_1.default.boolean(),
|
|
153
151
|
features: joi_1.default.array()
|
|
154
|
-
.items(joi_1.default.string().valid(...
|
|
152
|
+
.items(joi_1.default.string().valid(...feature_1.SupportedChainFeatures))
|
|
155
153
|
.unique()
|
|
156
154
|
.custom((value) => {
|
|
157
155
|
if (value.indexOf("cosmwasm") >= 0 && value.indexOf("secretwasm") >= 0) {
|
|
@@ -159,6 +157,7 @@ exports.ChainInfoSchema = joi_1.default.object({
|
|
|
159
157
|
}
|
|
160
158
|
return value;
|
|
161
159
|
}),
|
|
160
|
+
chainSymbolImageUrl: joi_1.default.string().uri(),
|
|
162
161
|
}).custom((value) => {
|
|
163
162
|
var _a;
|
|
164
163
|
if ((_a = value.alternativeBIP44s) === null || _a === void 0 ? void 0 : _a.find((bip44) => bip44.coinType === value.bip44.coinType)) {
|
package/build/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|