@keplr-wallet/provider 0.12.95 → 0.12.96-rc.1
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/build/core.d.ts +25 -1
- package/build/core.js +48 -0
- package/build/core.js.map +1 -1
- package/build/inject.d.ts +40 -1
- package/build/inject.js +188 -1
- package/build/inject.js.map +1 -1
- package/package.json +4 -4
- package/src/core.ts +84 -0
- package/src/inject.ts +261 -1
package/build/core.d.ts
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { ChainInfo, EthSignType, Keplr as IKeplr, KeplrIntereactionOptions, KeplrMode, KeplrSignOptions, Key, BroadcastMode, AminoSignResponse, StdSignDoc, StdTx, OfflineAminoSigner, StdSignature, DirectSignResponse, OfflineDirectSigner, ICNSAdr36Signatures, ChainInfoWithoutEndpoints, SecretUtils, SettledResponses, DirectAuxSignResponse, IEthereumProvider } from "@keplr-wallet/types";
|
2
3
|
import { MessageRequester } from "@keplr-wallet/router";
|
3
4
|
import Long from "long";
|
4
5
|
import { KeplrCoreTypes } from "./core-types";
|
6
|
+
import EventEmitter from "events";
|
5
7
|
export declare class Keplr implements IKeplr, KeplrCoreTypes {
|
6
8
|
readonly version: string;
|
7
9
|
readonly mode: KeplrMode;
|
@@ -22,6 +24,7 @@ export declare class Keplr implements IKeplr, KeplrCoreTypes {
|
|
22
24
|
getKey(chainId: string): Promise<Key>;
|
23
25
|
getKeysSettled(chainIds: string[]): Promise<SettledResponses<Key>>;
|
24
26
|
getChainInfosWithoutEndpoints(): Promise<ChainInfoWithoutEndpoints[]>;
|
27
|
+
getChainInfoWithoutEndpoints(chainId: string): Promise<ChainInfoWithoutEndpoints>;
|
25
28
|
sendTx(chainId: string, tx: StdTx | Uint8Array, mode: BroadcastMode): Promise<Uint8Array>;
|
26
29
|
signAmino(chainId: string, signer: string, signDoc: StdSignDoc, signOptions?: KeplrSignOptions): Promise<AminoSignResponse>;
|
27
30
|
signDirect(chainId: string, signer: string, signDoc: {
|
@@ -71,4 +74,25 @@ export declare class Keplr implements IKeplr, KeplrCoreTypes {
|
|
71
74
|
__core__privilageSignAminoDelegate(chainId: string, signer: string, signDoc: StdSignDoc): Promise<AminoSignResponse>;
|
72
75
|
sendEthereumTx(chainId: string, tx: Uint8Array): Promise<string>;
|
73
76
|
suggestERC20(chainId: string, contractAddress: string): Promise<void>;
|
77
|
+
readonly ethereum: EthereumProvider;
|
74
78
|
}
|
79
|
+
declare class EthereumProvider extends EventEmitter implements IEthereumProvider {
|
80
|
+
protected readonly requester: MessageRequester;
|
81
|
+
chainId: string | null;
|
82
|
+
selectedAddress: string | null;
|
83
|
+
networkVersion: string | null;
|
84
|
+
isKeplr: boolean;
|
85
|
+
isMetaMask: boolean;
|
86
|
+
constructor(requester: MessageRequester);
|
87
|
+
isConnected(): boolean;
|
88
|
+
request<T>({ method, params, }: {
|
89
|
+
method: string;
|
90
|
+
params: unknown[] | Record<string, unknown>;
|
91
|
+
}): Promise<T>;
|
92
|
+
/**
|
93
|
+
* Legacy methods
|
94
|
+
*/
|
95
|
+
enable(): Promise<string[]>;
|
96
|
+
net_version(): Promise<string>;
|
97
|
+
}
|
98
|
+
export {};
|
package/build/core.js
CHANGED
@@ -19,6 +19,7 @@ const cosmjs_1 = require("./cosmjs");
|
|
19
19
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
20
20
|
const long_1 = __importDefault(require("long"));
|
21
21
|
const buffer_1 = require("buffer/");
|
22
|
+
const events_1 = __importDefault(require("events"));
|
22
23
|
class Keplr {
|
23
24
|
constructor(version, mode, requester) {
|
24
25
|
this.version = version;
|
@@ -26,6 +27,7 @@ class Keplr {
|
|
26
27
|
this.requester = requester;
|
27
28
|
this.enigmaUtils = new Map();
|
28
29
|
this.defaultOptions = {};
|
30
|
+
this.ethereum = new EthereumProvider(this.requester);
|
29
31
|
}
|
30
32
|
ping() {
|
31
33
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -97,6 +99,13 @@ class Keplr {
|
|
97
99
|
return (yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "chains", "get-chain-infos-without-endpoints", {})).chainInfos;
|
98
100
|
});
|
99
101
|
}
|
102
|
+
getChainInfoWithoutEndpoints(chainId) {
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
104
|
+
return (yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "chains", "get-chain-info-without-endpoints", {
|
105
|
+
chainId,
|
106
|
+
})).chainInfo;
|
107
|
+
});
|
108
|
+
}
|
100
109
|
sendTx(chainId, tx, mode) {
|
101
110
|
return __awaiter(this, void 0, void 0, function* () {
|
102
111
|
return yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "background-tx", "send-tx-to-background", {
|
@@ -361,4 +370,43 @@ class Keplr {
|
|
361
370
|
}
|
362
371
|
}
|
363
372
|
exports.Keplr = Keplr;
|
373
|
+
class EthereumProvider extends events_1.default {
|
374
|
+
constructor(requester) {
|
375
|
+
super();
|
376
|
+
this.requester = requester;
|
377
|
+
this.chainId = null;
|
378
|
+
this.selectedAddress = null;
|
379
|
+
this.networkVersion = null;
|
380
|
+
this.isKeplr = true;
|
381
|
+
this.isMetaMask = true;
|
382
|
+
}
|
383
|
+
isConnected() {
|
384
|
+
return true;
|
385
|
+
}
|
386
|
+
request({ method, params, }) {
|
387
|
+
return __awaiter(this, void 0, void 0, function* () {
|
388
|
+
return yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "keyring-ethereum", "request-json-rpc-to-evm", {
|
389
|
+
method,
|
390
|
+
params,
|
391
|
+
});
|
392
|
+
});
|
393
|
+
}
|
394
|
+
/**
|
395
|
+
* Legacy methods
|
396
|
+
*/
|
397
|
+
enable() {
|
398
|
+
return __awaiter(this, void 0, void 0, function* () {
|
399
|
+
return yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "keyring-ethereum", "request-json-rpc-to-evm", {
|
400
|
+
method: "eth_requestAccounts",
|
401
|
+
});
|
402
|
+
});
|
403
|
+
}
|
404
|
+
net_version() {
|
405
|
+
return __awaiter(this, void 0, void 0, function* () {
|
406
|
+
return yield (0, router_1.sendSimpleMessage)(this.requester, router_1.BACKGROUND_PORT, "keyring-ethereum", "request-json-rpc-to-evm", {
|
407
|
+
method: "net_version",
|
408
|
+
});
|
409
|
+
});
|
410
|
+
}
|
411
|
+
}
|
364
412
|
//# sourceMappingURL=core.js.map
|
package/build/core.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/build/inject.d.ts
CHANGED
@@ -1,12 +1,15 @@
|
|
1
|
-
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { ChainInfo, EthSignType, Keplr, Keplr as IKeplr, KeplrIntereactionOptions, KeplrMode, KeplrSignOptions, Key, BroadcastMode, AminoSignResponse, StdSignDoc, OfflineAminoSigner, StdSignature, StdTx, DirectSignResponse, OfflineDirectSigner, ICNSAdr36Signatures, ChainInfoWithoutEndpoints, SecretUtils, SettledResponses, DirectAuxSignResponse, IEthereumProvider } from "@keplr-wallet/types";
|
2
3
|
import { Result } from "@keplr-wallet/router";
|
3
4
|
import Long from "long";
|
4
5
|
import { KeplrCoreTypes } from "./core-types";
|
6
|
+
import EventEmitter from "events";
|
5
7
|
export interface ProxyRequest {
|
6
8
|
type: "proxy-request";
|
7
9
|
id: string;
|
8
10
|
method: keyof (Keplr & KeplrCoreTypes);
|
9
11
|
args: any[];
|
12
|
+
ethereumProviderMethod?: keyof IEthereumProvider;
|
10
13
|
}
|
11
14
|
export interface ProxyRequestResponse {
|
12
15
|
type: "proxy-request-response";
|
@@ -89,6 +92,7 @@ export declare class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
89
92
|
primaryType: string;
|
90
93
|
}, signDoc: StdSignDoc, signOptions?: KeplrSignOptions): Promise<AminoSignResponse>;
|
91
94
|
getChainInfosWithoutEndpoints(): Promise<ChainInfoWithoutEndpoints[]>;
|
95
|
+
getChainInfoWithoutEndpoints(chainId: string): Promise<ChainInfoWithoutEndpoints>;
|
92
96
|
__core__getAnalyticsId(): Promise<string>;
|
93
97
|
changeKeyRingName({ defaultName, editable, }: {
|
94
98
|
defaultName: string;
|
@@ -98,4 +102,39 @@ export declare class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
98
102
|
__core__privilageSignAminoDelegate(chainId: string, signer: string, signDoc: StdSignDoc): Promise<AminoSignResponse>;
|
99
103
|
sendEthereumTx(chainId: string, tx: Uint8Array): Promise<string>;
|
100
104
|
suggestERC20(chainId: string, contractAddress: string): Promise<void>;
|
105
|
+
readonly ethereum: EthereumProvider;
|
101
106
|
}
|
107
|
+
declare class EthereumProvider extends EventEmitter implements IEthereumProvider {
|
108
|
+
protected readonly injectedKeplr: InjectedKeplr;
|
109
|
+
protected readonly eventListener: {
|
110
|
+
addMessageListener: (fn: (e: any) => void) => void;
|
111
|
+
removeMessageListener: (fn: (e: any) => void) => void;
|
112
|
+
postMessage: (message: any) => void;
|
113
|
+
};
|
114
|
+
protected readonly parseMessage?: ((message: any) => any) | undefined;
|
115
|
+
chainId: string | null;
|
116
|
+
networkVersion: string | null;
|
117
|
+
selectedAddress: string | null;
|
118
|
+
isKeplr: boolean;
|
119
|
+
isMetaMask: boolean;
|
120
|
+
protected _isConnected: boolean;
|
121
|
+
protected _tendermintChainId: string | null;
|
122
|
+
constructor(injectedKeplr: InjectedKeplr, eventListener?: {
|
123
|
+
addMessageListener: (fn: (e: any) => void) => void;
|
124
|
+
removeMessageListener: (fn: (e: any) => void) => void;
|
125
|
+
postMessage: (message: any) => void;
|
126
|
+
}, parseMessage?: ((message: any) => any) | undefined);
|
127
|
+
protected requestMethod(method: keyof IEthereumProvider, args: Record<string, any>): Promise<any>;
|
128
|
+
protected handleConnect(evmChainId?: number): Promise<void>;
|
129
|
+
protected handleDisconnect(): Promise<void>;
|
130
|
+
protected handleChainChanged(evmChainId: number): Promise<void>;
|
131
|
+
protected handleAccountsChanged(selectedAddress: string): Promise<void>;
|
132
|
+
isConnected(): boolean;
|
133
|
+
request<T>({ method, params, }: {
|
134
|
+
method: string;
|
135
|
+
params?: unknown[] | Record<string, unknown>;
|
136
|
+
}): Promise<T>;
|
137
|
+
enable(): Promise<string[]>;
|
138
|
+
net_version(): Promise<string>;
|
139
|
+
}
|
140
|
+
export {};
|
package/build/inject.js
CHANGED
@@ -18,6 +18,7 @@ const enigma_1 = require("./enigma");
|
|
18
18
|
const cosmjs_1 = require("./cosmjs");
|
19
19
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
20
20
|
const long_1 = __importDefault(require("long"));
|
21
|
+
const events_1 = __importDefault(require("events"));
|
21
22
|
function defineUnwritablePropertyIfPossible(o, p, value) {
|
22
23
|
const descriptor = Object.getOwnPropertyDescriptor(o, p);
|
23
24
|
if (!descriptor || descriptor.writable) {
|
@@ -41,6 +42,8 @@ function injectKeplrToWindow(keplr) {
|
|
41
42
|
defineUnwritablePropertyIfPossible(window, "getOfflineSignerOnlyAmino", keplr.getOfflineSignerOnlyAmino);
|
42
43
|
defineUnwritablePropertyIfPossible(window, "getOfflineSignerAuto", keplr.getOfflineSignerAuto);
|
43
44
|
defineUnwritablePropertyIfPossible(window, "getEnigmaUtils", keplr.getEnigmaUtils);
|
45
|
+
// TODO: Enable this after the ethereum provider is fully supported.
|
46
|
+
// defineUnwritablePropertyIfPossible(window, "ethereum", keplr.ethereum);
|
44
47
|
}
|
45
48
|
exports.injectKeplrToWindow = injectKeplrToWindow;
|
46
49
|
/**
|
@@ -76,7 +79,8 @@ class InjectedKeplr {
|
|
76
79
|
throw new Error("DefaultOptions is not function");
|
77
80
|
}
|
78
81
|
if (!keplr[message.method] ||
|
79
|
-
|
82
|
+
(message.method !== "ethereum" &&
|
83
|
+
typeof keplr[message.method] !== "function")) {
|
80
84
|
throw new Error(`Invalid method: ${message.method}`);
|
81
85
|
}
|
82
86
|
if (message.method === "getOfflineSigner") {
|
@@ -141,6 +145,35 @@ class InjectedKeplr {
|
|
141
145
|
};
|
142
146
|
}))();
|
143
147
|
}
|
148
|
+
if (method === "ethereum") {
|
149
|
+
const ethereumProviderMethod = message.ethereumProviderMethod;
|
150
|
+
if (ethereumProviderMethod === "chainId") {
|
151
|
+
throw new Error("chainId is not function");
|
152
|
+
}
|
153
|
+
if (ethereumProviderMethod === "selectedAddress") {
|
154
|
+
throw new Error("selectedAddress is not function");
|
155
|
+
}
|
156
|
+
if (ethereumProviderMethod === "networkVersion") {
|
157
|
+
throw new Error("networkVersion is not function");
|
158
|
+
}
|
159
|
+
if (ethereumProviderMethod === "isKeplr") {
|
160
|
+
throw new Error("isKeplr is not function");
|
161
|
+
}
|
162
|
+
if (ethereumProviderMethod === "isMetaMask") {
|
163
|
+
throw new Error("isMetaMask is not function");
|
164
|
+
}
|
165
|
+
if (ethereumProviderMethod === undefined ||
|
166
|
+
typeof keplr.ethereum[ethereumProviderMethod] !== "function") {
|
167
|
+
throw new Error(`${message.ethereumProviderMethod} is not function or invalid Ethereum provider method`);
|
168
|
+
}
|
169
|
+
if (ethereumProviderMethod === "request") {
|
170
|
+
return yield keplr.ethereum.request(router_1.JSONUint8Array.unwrap(message.args));
|
171
|
+
}
|
172
|
+
return yield keplr.ethereum[ethereumProviderMethod](
|
173
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
174
|
+
// @ts-ignore
|
175
|
+
...router_1.JSONUint8Array.unwrap(message.args));
|
176
|
+
}
|
144
177
|
return yield keplr[method](
|
145
178
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
146
179
|
// @ts-ignore
|
@@ -222,6 +255,7 @@ class InjectedKeplr {
|
|
222
255
|
this.parseMessage = parseMessage;
|
223
256
|
this.enigmaUtils = new Map();
|
224
257
|
this.defaultOptions = {};
|
258
|
+
this.ethereum = new EthereumProvider(this, this.eventListener, this.parseMessage);
|
225
259
|
// Freeze fields/method except for "defaultOptions"
|
226
260
|
// Intentionally, "defaultOptions" can be mutated to allow a webpage to change the options with cosmjs usage.
|
227
261
|
// Freeze fields
|
@@ -506,6 +540,11 @@ class InjectedKeplr {
|
|
506
540
|
return yield this.requestMethod("getChainInfosWithoutEndpoints", []);
|
507
541
|
});
|
508
542
|
}
|
543
|
+
getChainInfoWithoutEndpoints(chainId) {
|
544
|
+
return __awaiter(this, void 0, void 0, function* () {
|
545
|
+
return yield this.requestMethod("getChainInfoWithoutEndpoints", [chainId]);
|
546
|
+
});
|
547
|
+
}
|
509
548
|
__core__getAnalyticsId() {
|
510
549
|
return this.requestMethod("__core__getAnalyticsId", []);
|
511
550
|
}
|
@@ -542,4 +581,152 @@ class InjectedKeplr {
|
|
542
581
|
}
|
543
582
|
}
|
544
583
|
exports.InjectedKeplr = InjectedKeplr;
|
584
|
+
class EthereumProvider extends events_1.default {
|
585
|
+
constructor(injectedKeplr, eventListener = {
|
586
|
+
addMessageListener: (fn) => window.addEventListener("message", fn),
|
587
|
+
removeMessageListener: (fn) => window.removeEventListener("message", fn),
|
588
|
+
postMessage: (message) => window.postMessage(message, window.location.origin),
|
589
|
+
}, parseMessage) {
|
590
|
+
super();
|
591
|
+
this.injectedKeplr = injectedKeplr;
|
592
|
+
this.eventListener = eventListener;
|
593
|
+
this.parseMessage = parseMessage;
|
594
|
+
// It must be in the hexadecimal format used in EVM-based chains, not the format used in Tendermint nodes.
|
595
|
+
this.chainId = null;
|
596
|
+
// It must be in the decimal format of chainId.
|
597
|
+
this.networkVersion = null;
|
598
|
+
this.selectedAddress = null;
|
599
|
+
this.isKeplr = true;
|
600
|
+
this.isMetaMask = true;
|
601
|
+
this._isConnected = false;
|
602
|
+
this._tendermintChainId = null;
|
603
|
+
window.addEventListener("keplr_keystorechange", () => __awaiter(this, void 0, void 0, function* () {
|
604
|
+
if (this._tendermintChainId) {
|
605
|
+
const chainInfo = yield injectedKeplr.getChainInfoWithoutEndpoints(this._tendermintChainId);
|
606
|
+
if (chainInfo) {
|
607
|
+
const selectedAddress = (yield injectedKeplr.getKey(this._tendermintChainId)).ethereumHexAddress;
|
608
|
+
this.handleAccountsChanged(selectedAddress);
|
609
|
+
}
|
610
|
+
}
|
611
|
+
}));
|
612
|
+
window.addEventListener("keplr_chainChanged", (event) => {
|
613
|
+
const origin = event.detail.origin;
|
614
|
+
if (origin === window.location.origin) {
|
615
|
+
const evmChainId = event.detail.evmChainId;
|
616
|
+
this.handleChainChanged(evmChainId);
|
617
|
+
}
|
618
|
+
});
|
619
|
+
}
|
620
|
+
requestMethod(method, args) {
|
621
|
+
return __awaiter(this, void 0, void 0, function* () {
|
622
|
+
const bytes = new Uint8Array(8);
|
623
|
+
const id = Array.from(crypto.getRandomValues(bytes))
|
624
|
+
.map((value) => {
|
625
|
+
return value.toString(16);
|
626
|
+
})
|
627
|
+
.join("");
|
628
|
+
const proxyMessage = {
|
629
|
+
type: "proxy-request",
|
630
|
+
id,
|
631
|
+
method: "ethereum",
|
632
|
+
args: router_1.JSONUint8Array.wrap(args),
|
633
|
+
ethereumProviderMethod: method,
|
634
|
+
};
|
635
|
+
return new Promise((resolve, reject) => {
|
636
|
+
const receiveResponse = (e) => {
|
637
|
+
const proxyResponse = this.parseMessage
|
638
|
+
? this.parseMessage(e.data)
|
639
|
+
: e.data;
|
640
|
+
if (!proxyResponse || proxyResponse.type !== "proxy-request-response") {
|
641
|
+
return;
|
642
|
+
}
|
643
|
+
if (proxyResponse.id !== id) {
|
644
|
+
return;
|
645
|
+
}
|
646
|
+
this.eventListener.removeMessageListener(receiveResponse);
|
647
|
+
const result = router_1.JSONUint8Array.unwrap(proxyResponse.result);
|
648
|
+
if (!result) {
|
649
|
+
reject(new Error("Result is null"));
|
650
|
+
return;
|
651
|
+
}
|
652
|
+
if (result.error) {
|
653
|
+
reject(new Error(result.error));
|
654
|
+
return;
|
655
|
+
}
|
656
|
+
resolve(result.return);
|
657
|
+
};
|
658
|
+
this.eventListener.addMessageListener(receiveResponse);
|
659
|
+
this.eventListener.postMessage(proxyMessage);
|
660
|
+
});
|
661
|
+
});
|
662
|
+
}
|
663
|
+
handleConnect(evmChainId) {
|
664
|
+
return __awaiter(this, void 0, void 0, function* () {
|
665
|
+
if (!this._isConnected) {
|
666
|
+
const { currentEvmChainId, currentTendermintChainId, selectedAddress } = yield this.requestMethod("request", Object.assign({ method: "keplr_connect" }, (evmChainId && { params: [evmChainId] })));
|
667
|
+
this._isConnected = true;
|
668
|
+
this._tendermintChainId = currentTendermintChainId;
|
669
|
+
const currentChainIdHex = `0x${currentEvmChainId.toString(16)}`;
|
670
|
+
this.chainId = currentChainIdHex;
|
671
|
+
this.networkVersion = currentEvmChainId.toString(10);
|
672
|
+
this.selectedAddress = selectedAddress;
|
673
|
+
this.emit("connect", { chainId: currentChainIdHex });
|
674
|
+
}
|
675
|
+
});
|
676
|
+
}
|
677
|
+
handleDisconnect() {
|
678
|
+
return __awaiter(this, void 0, void 0, function* () {
|
679
|
+
if (this._isConnected) {
|
680
|
+
yield this.requestMethod("request", {
|
681
|
+
method: "keplr_disconnect",
|
682
|
+
});
|
683
|
+
this._isConnected = false;
|
684
|
+
this.chainId = null;
|
685
|
+
this.selectedAddress = null;
|
686
|
+
this.networkVersion = null;
|
687
|
+
this.emit("disconnect");
|
688
|
+
}
|
689
|
+
});
|
690
|
+
}
|
691
|
+
handleChainChanged(evmChainId) {
|
692
|
+
return __awaiter(this, void 0, void 0, function* () {
|
693
|
+
yield this.handleConnect(evmChainId);
|
694
|
+
const evmChainIdHex = `0x${evmChainId.toString(16)}`;
|
695
|
+
this.emit("chainChanged", evmChainIdHex);
|
696
|
+
});
|
697
|
+
}
|
698
|
+
handleAccountsChanged(selectedAddress) {
|
699
|
+
return __awaiter(this, void 0, void 0, function* () {
|
700
|
+
if (this._isConnected) {
|
701
|
+
this.selectedAddress = selectedAddress;
|
702
|
+
this.emit("accountsChanged", [selectedAddress]);
|
703
|
+
}
|
704
|
+
});
|
705
|
+
}
|
706
|
+
isConnected() {
|
707
|
+
return this._isConnected;
|
708
|
+
}
|
709
|
+
request({ method, params, }) {
|
710
|
+
return __awaiter(this, void 0, void 0, function* () {
|
711
|
+
if (!this._isConnected) {
|
712
|
+
yield this.handleConnect();
|
713
|
+
}
|
714
|
+
return yield this.requestMethod("request", { method, params });
|
715
|
+
});
|
716
|
+
}
|
717
|
+
enable() {
|
718
|
+
return __awaiter(this, void 0, void 0, function* () {
|
719
|
+
return yield this.requestMethod("request", {
|
720
|
+
method: "eth_requestAccounts",
|
721
|
+
});
|
722
|
+
});
|
723
|
+
}
|
724
|
+
net_version() {
|
725
|
+
return __awaiter(this, void 0, void 0, function* () {
|
726
|
+
return yield this.requestMethod("request", {
|
727
|
+
method: "net_version",
|
728
|
+
});
|
729
|
+
});
|
730
|
+
}
|
731
|
+
}
|
545
732
|
//# sourceMappingURL=inject.js.map
|
package/build/inject.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@keplr-wallet/provider",
|
3
|
-
"version": "0.12.
|
3
|
+
"version": "0.12.96-rc.1",
|
4
4
|
"main": "build/index.js",
|
5
5
|
"author": "chainapsis",
|
6
6
|
"license": "Apache-2.0",
|
@@ -16,11 +16,11 @@
|
|
16
16
|
"lint-fix": "eslint --fix \"src/**/*\" && prettier --write \"src/**/*\""
|
17
17
|
},
|
18
18
|
"dependencies": {
|
19
|
-
"@keplr-wallet/router": "0.12.
|
20
|
-
"@keplr-wallet/types": "0.12.
|
19
|
+
"@keplr-wallet/router": "0.12.96-rc.1",
|
20
|
+
"@keplr-wallet/types": "0.12.96-rc.1",
|
21
21
|
"buffer": "^6.0.3",
|
22
22
|
"deepmerge": "^4.2.2",
|
23
23
|
"long": "^4.0.0"
|
24
24
|
},
|
25
|
-
"gitHead": "
|
25
|
+
"gitHead": "2fe1608d6c0696c65a2df053d2ccc72c97dd3144"
|
26
26
|
}
|
package/src/core.ts
CHANGED
@@ -19,6 +19,7 @@ import {
|
|
19
19
|
SecretUtils,
|
20
20
|
SettledResponses,
|
21
21
|
DirectAuxSignResponse,
|
22
|
+
IEthereumProvider,
|
22
23
|
} from "@keplr-wallet/types";
|
23
24
|
import {
|
24
25
|
BACKGROUND_PORT,
|
@@ -33,6 +34,7 @@ import deepmerge from "deepmerge";
|
|
33
34
|
import Long from "long";
|
34
35
|
import { Buffer } from "buffer/";
|
35
36
|
import { KeplrCoreTypes } from "./core-types";
|
37
|
+
import EventEmitter from "events";
|
36
38
|
|
37
39
|
export class Keplr implements IKeplr, KeplrCoreTypes {
|
38
40
|
protected enigmaUtils: Map<string, SecretUtils> = new Map();
|
@@ -179,6 +181,22 @@ export class Keplr implements IKeplr, KeplrCoreTypes {
|
|
179
181
|
).chainInfos;
|
180
182
|
}
|
181
183
|
|
184
|
+
async getChainInfoWithoutEndpoints(
|
185
|
+
chainId: string
|
186
|
+
): Promise<ChainInfoWithoutEndpoints> {
|
187
|
+
return (
|
188
|
+
await sendSimpleMessage(
|
189
|
+
this.requester,
|
190
|
+
BACKGROUND_PORT,
|
191
|
+
"chains",
|
192
|
+
"get-chain-info-without-endpoints",
|
193
|
+
{
|
194
|
+
chainId,
|
195
|
+
}
|
196
|
+
)
|
197
|
+
).chainInfo;
|
198
|
+
}
|
199
|
+
|
182
200
|
async sendTx(
|
183
201
|
chainId: string,
|
184
202
|
tx: StdTx | Uint8Array,
|
@@ -657,4 +675,70 @@ export class Keplr implements IKeplr, KeplrCoreTypes {
|
|
657
675
|
}
|
658
676
|
);
|
659
677
|
}
|
678
|
+
|
679
|
+
public readonly ethereum = new EthereumProvider(this.requester);
|
680
|
+
}
|
681
|
+
|
682
|
+
class EthereumProvider extends EventEmitter implements IEthereumProvider {
|
683
|
+
chainId: string | null = null;
|
684
|
+
selectedAddress: string | null = null;
|
685
|
+
networkVersion: string | null = null;
|
686
|
+
|
687
|
+
isKeplr: boolean = true;
|
688
|
+
isMetaMask: boolean = true;
|
689
|
+
|
690
|
+
constructor(protected readonly requester: MessageRequester) {
|
691
|
+
super();
|
692
|
+
}
|
693
|
+
|
694
|
+
isConnected(): boolean {
|
695
|
+
return true;
|
696
|
+
}
|
697
|
+
|
698
|
+
async request<T>({
|
699
|
+
method,
|
700
|
+
params,
|
701
|
+
}: {
|
702
|
+
method: string;
|
703
|
+
params: unknown[] | Record<string, unknown>;
|
704
|
+
}): Promise<T> {
|
705
|
+
return await sendSimpleMessage(
|
706
|
+
this.requester,
|
707
|
+
BACKGROUND_PORT,
|
708
|
+
"keyring-ethereum",
|
709
|
+
"request-json-rpc-to-evm",
|
710
|
+
{
|
711
|
+
method,
|
712
|
+
params,
|
713
|
+
}
|
714
|
+
);
|
715
|
+
}
|
716
|
+
|
717
|
+
/**
|
718
|
+
* Legacy methods
|
719
|
+
*/
|
720
|
+
|
721
|
+
async enable(): Promise<string[]> {
|
722
|
+
return await sendSimpleMessage(
|
723
|
+
this.requester,
|
724
|
+
BACKGROUND_PORT,
|
725
|
+
"keyring-ethereum",
|
726
|
+
"request-json-rpc-to-evm",
|
727
|
+
{
|
728
|
+
method: "eth_requestAccounts",
|
729
|
+
}
|
730
|
+
);
|
731
|
+
}
|
732
|
+
|
733
|
+
async net_version(): Promise<string> {
|
734
|
+
return await sendSimpleMessage(
|
735
|
+
this.requester,
|
736
|
+
BACKGROUND_PORT,
|
737
|
+
"keyring-ethereum",
|
738
|
+
"request-json-rpc-to-evm",
|
739
|
+
{
|
740
|
+
method: "net_version",
|
741
|
+
}
|
742
|
+
);
|
743
|
+
}
|
660
744
|
}
|
package/src/inject.ts
CHANGED
@@ -20,6 +20,7 @@ import {
|
|
20
20
|
SecretUtils,
|
21
21
|
SettledResponses,
|
22
22
|
DirectAuxSignResponse,
|
23
|
+
IEthereumProvider,
|
23
24
|
} from "@keplr-wallet/types";
|
24
25
|
import { Result, JSONUint8Array } from "@keplr-wallet/router";
|
25
26
|
import { KeplrEnigmaUtils } from "./enigma";
|
@@ -27,12 +28,14 @@ import { CosmJSOfflineSigner, CosmJSOfflineSignerOnlyAmino } from "./cosmjs";
|
|
27
28
|
import deepmerge from "deepmerge";
|
28
29
|
import Long from "long";
|
29
30
|
import { KeplrCoreTypes } from "./core-types";
|
31
|
+
import EventEmitter from "events";
|
30
32
|
|
31
33
|
export interface ProxyRequest {
|
32
34
|
type: "proxy-request";
|
33
35
|
id: string;
|
34
36
|
method: keyof (Keplr & KeplrCoreTypes);
|
35
37
|
args: any[];
|
38
|
+
ethereumProviderMethod?: keyof IEthereumProvider;
|
36
39
|
}
|
37
40
|
|
38
41
|
export interface ProxyRequestResponse {
|
@@ -81,6 +84,9 @@ export function injectKeplrToWindow(keplr: IKeplr): void {
|
|
81
84
|
"getEnigmaUtils",
|
82
85
|
keplr.getEnigmaUtils
|
83
86
|
);
|
87
|
+
|
88
|
+
// TODO: Enable this after the ethereum provider is fully supported.
|
89
|
+
// defineUnwritablePropertyIfPossible(window, "ethereum", keplr.ethereum);
|
84
90
|
}
|
85
91
|
|
86
92
|
/**
|
@@ -133,7 +139,8 @@ export class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
133
139
|
|
134
140
|
if (
|
135
141
|
!keplr[message.method] ||
|
136
|
-
|
142
|
+
(message.method !== "ethereum" &&
|
143
|
+
typeof keplr[message.method] !== "function")
|
137
144
|
) {
|
138
145
|
throw new Error(`Invalid method: ${message.method}`);
|
139
146
|
}
|
@@ -236,6 +243,51 @@ export class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
236
243
|
})();
|
237
244
|
}
|
238
245
|
|
246
|
+
if (method === "ethereum") {
|
247
|
+
const ethereumProviderMethod = message.ethereumProviderMethod;
|
248
|
+
|
249
|
+
if (ethereumProviderMethod === "chainId") {
|
250
|
+
throw new Error("chainId is not function");
|
251
|
+
}
|
252
|
+
|
253
|
+
if (ethereumProviderMethod === "selectedAddress") {
|
254
|
+
throw new Error("selectedAddress is not function");
|
255
|
+
}
|
256
|
+
|
257
|
+
if (ethereumProviderMethod === "networkVersion") {
|
258
|
+
throw new Error("networkVersion is not function");
|
259
|
+
}
|
260
|
+
|
261
|
+
if (ethereumProviderMethod === "isKeplr") {
|
262
|
+
throw new Error("isKeplr is not function");
|
263
|
+
}
|
264
|
+
|
265
|
+
if (ethereumProviderMethod === "isMetaMask") {
|
266
|
+
throw new Error("isMetaMask is not function");
|
267
|
+
}
|
268
|
+
|
269
|
+
if (
|
270
|
+
ethereumProviderMethod === undefined ||
|
271
|
+
typeof keplr.ethereum[ethereumProviderMethod] !== "function"
|
272
|
+
) {
|
273
|
+
throw new Error(
|
274
|
+
`${message.ethereumProviderMethod} is not function or invalid Ethereum provider method`
|
275
|
+
);
|
276
|
+
}
|
277
|
+
|
278
|
+
if (ethereumProviderMethod === "request") {
|
279
|
+
return await keplr.ethereum.request(
|
280
|
+
JSONUint8Array.unwrap(message.args)
|
281
|
+
);
|
282
|
+
}
|
283
|
+
|
284
|
+
return await keplr.ethereum[ethereumProviderMethod](
|
285
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
286
|
+
// @ts-ignore
|
287
|
+
...JSONUint8Array.unwrap(message.args)
|
288
|
+
);
|
289
|
+
}
|
290
|
+
|
239
291
|
return await keplr[method](
|
240
292
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
241
293
|
// @ts-ignore
|
@@ -736,6 +788,12 @@ export class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
736
788
|
return await this.requestMethod("getChainInfosWithoutEndpoints", []);
|
737
789
|
}
|
738
790
|
|
791
|
+
async getChainInfoWithoutEndpoints(
|
792
|
+
chainId: string
|
793
|
+
): Promise<ChainInfoWithoutEndpoints> {
|
794
|
+
return await this.requestMethod("getChainInfoWithoutEndpoints", [chainId]);
|
795
|
+
}
|
796
|
+
|
739
797
|
__core__getAnalyticsId(): Promise<string> {
|
740
798
|
return this.requestMethod("__core__getAnalyticsId", []);
|
741
799
|
}
|
@@ -782,4 +840,206 @@ export class InjectedKeplr implements IKeplr, KeplrCoreTypes {
|
|
782
840
|
async suggestERC20(chainId: string, contractAddress: string): Promise<void> {
|
783
841
|
return await this.requestMethod("suggestERC20", [chainId, contractAddress]);
|
784
842
|
}
|
843
|
+
|
844
|
+
public readonly ethereum = new EthereumProvider(
|
845
|
+
this,
|
846
|
+
this.eventListener,
|
847
|
+
this.parseMessage
|
848
|
+
);
|
849
|
+
}
|
850
|
+
|
851
|
+
class EthereumProvider extends EventEmitter implements IEthereumProvider {
|
852
|
+
// It must be in the hexadecimal format used in EVM-based chains, not the format used in Tendermint nodes.
|
853
|
+
chainId: string | null = null;
|
854
|
+
// It must be in the decimal format of chainId.
|
855
|
+
networkVersion: string | null = null;
|
856
|
+
|
857
|
+
selectedAddress: string | null = null;
|
858
|
+
|
859
|
+
isKeplr = true;
|
860
|
+
isMetaMask = true;
|
861
|
+
|
862
|
+
protected _isConnected = false;
|
863
|
+
protected _tendermintChainId: string | null = null;
|
864
|
+
|
865
|
+
constructor(
|
866
|
+
protected readonly injectedKeplr: InjectedKeplr,
|
867
|
+
protected readonly eventListener: {
|
868
|
+
addMessageListener: (fn: (e: any) => void) => void;
|
869
|
+
removeMessageListener: (fn: (e: any) => void) => void;
|
870
|
+
postMessage: (message: any) => void;
|
871
|
+
} = {
|
872
|
+
addMessageListener: (fn: (e: any) => void) =>
|
873
|
+
window.addEventListener("message", fn),
|
874
|
+
removeMessageListener: (fn: (e: any) => void) =>
|
875
|
+
window.removeEventListener("message", fn),
|
876
|
+
postMessage: (message) =>
|
877
|
+
window.postMessage(message, window.location.origin),
|
878
|
+
},
|
879
|
+
protected readonly parseMessage?: (message: any) => any
|
880
|
+
) {
|
881
|
+
super();
|
882
|
+
|
883
|
+
window.addEventListener("keplr_keystorechange", async () => {
|
884
|
+
if (this._tendermintChainId) {
|
885
|
+
const chainInfo = await injectedKeplr.getChainInfoWithoutEndpoints(
|
886
|
+
this._tendermintChainId
|
887
|
+
);
|
888
|
+
|
889
|
+
if (chainInfo) {
|
890
|
+
const selectedAddress = (
|
891
|
+
await injectedKeplr.getKey(this._tendermintChainId)
|
892
|
+
).ethereumHexAddress;
|
893
|
+
this.handleAccountsChanged(selectedAddress);
|
894
|
+
}
|
895
|
+
}
|
896
|
+
});
|
897
|
+
|
898
|
+
window.addEventListener("keplr_chainChanged", (event) => {
|
899
|
+
const origin = (event as CustomEvent).detail.origin;
|
900
|
+
|
901
|
+
if (origin === window.location.origin) {
|
902
|
+
const evmChainId = (event as CustomEvent).detail.evmChainId;
|
903
|
+
this.handleChainChanged(evmChainId);
|
904
|
+
}
|
905
|
+
});
|
906
|
+
}
|
907
|
+
|
908
|
+
protected async requestMethod(
|
909
|
+
method: keyof IEthereumProvider,
|
910
|
+
args: Record<string, any>
|
911
|
+
): Promise<any> {
|
912
|
+
const bytes = new Uint8Array(8);
|
913
|
+
const id: string = Array.from(crypto.getRandomValues(bytes))
|
914
|
+
.map((value) => {
|
915
|
+
return value.toString(16);
|
916
|
+
})
|
917
|
+
.join("");
|
918
|
+
|
919
|
+
const proxyMessage: ProxyRequest = {
|
920
|
+
type: "proxy-request",
|
921
|
+
id,
|
922
|
+
method: "ethereum",
|
923
|
+
args: JSONUint8Array.wrap(args),
|
924
|
+
ethereumProviderMethod: method,
|
925
|
+
};
|
926
|
+
|
927
|
+
return new Promise((resolve, reject) => {
|
928
|
+
const receiveResponse = (e: any) => {
|
929
|
+
const proxyResponse: ProxyRequestResponse = this.parseMessage
|
930
|
+
? this.parseMessage(e.data)
|
931
|
+
: e.data;
|
932
|
+
|
933
|
+
if (!proxyResponse || proxyResponse.type !== "proxy-request-response") {
|
934
|
+
return;
|
935
|
+
}
|
936
|
+
|
937
|
+
if (proxyResponse.id !== id) {
|
938
|
+
return;
|
939
|
+
}
|
940
|
+
|
941
|
+
this.eventListener.removeMessageListener(receiveResponse);
|
942
|
+
|
943
|
+
const result = JSONUint8Array.unwrap(proxyResponse.result);
|
944
|
+
|
945
|
+
if (!result) {
|
946
|
+
reject(new Error("Result is null"));
|
947
|
+
return;
|
948
|
+
}
|
949
|
+
|
950
|
+
if (result.error) {
|
951
|
+
reject(new Error(result.error));
|
952
|
+
return;
|
953
|
+
}
|
954
|
+
|
955
|
+
resolve(result.return);
|
956
|
+
};
|
957
|
+
|
958
|
+
this.eventListener.addMessageListener(receiveResponse);
|
959
|
+
|
960
|
+
this.eventListener.postMessage(proxyMessage);
|
961
|
+
});
|
962
|
+
}
|
963
|
+
|
964
|
+
protected async handleConnect(evmChainId?: number) {
|
965
|
+
if (!this._isConnected) {
|
966
|
+
const { currentEvmChainId, currentTendermintChainId, selectedAddress } =
|
967
|
+
await this.requestMethod("request", {
|
968
|
+
method: "keplr_connect",
|
969
|
+
...(evmChainId && { params: [evmChainId] }),
|
970
|
+
});
|
971
|
+
|
972
|
+
this._isConnected = true;
|
973
|
+
this._tendermintChainId = currentTendermintChainId;
|
974
|
+
|
975
|
+
const currentChainIdHex = `0x${currentEvmChainId.toString(16)}`;
|
976
|
+
this.chainId = currentChainIdHex;
|
977
|
+
this.networkVersion = currentEvmChainId.toString(10);
|
978
|
+
|
979
|
+
this.selectedAddress = selectedAddress;
|
980
|
+
|
981
|
+
this.emit("connect", { chainId: currentChainIdHex });
|
982
|
+
}
|
983
|
+
}
|
984
|
+
|
985
|
+
protected async handleDisconnect() {
|
986
|
+
if (this._isConnected) {
|
987
|
+
await this.requestMethod("request", {
|
988
|
+
method: "keplr_disconnect",
|
989
|
+
});
|
990
|
+
|
991
|
+
this._isConnected = false;
|
992
|
+
this.chainId = null;
|
993
|
+
this.selectedAddress = null;
|
994
|
+
this.networkVersion = null;
|
995
|
+
|
996
|
+
this.emit("disconnect");
|
997
|
+
}
|
998
|
+
}
|
999
|
+
|
1000
|
+
protected async handleChainChanged(evmChainId: number) {
|
1001
|
+
await this.handleConnect(evmChainId);
|
1002
|
+
|
1003
|
+
const evmChainIdHex = `0x${evmChainId.toString(16)}`;
|
1004
|
+
|
1005
|
+
this.emit("chainChanged", evmChainIdHex);
|
1006
|
+
}
|
1007
|
+
|
1008
|
+
protected async handleAccountsChanged(selectedAddress: string) {
|
1009
|
+
if (this._isConnected) {
|
1010
|
+
this.selectedAddress = selectedAddress;
|
1011
|
+
|
1012
|
+
this.emit("accountsChanged", [selectedAddress]);
|
1013
|
+
}
|
1014
|
+
}
|
1015
|
+
|
1016
|
+
isConnected(): boolean {
|
1017
|
+
return this._isConnected;
|
1018
|
+
}
|
1019
|
+
|
1020
|
+
async request<T>({
|
1021
|
+
method,
|
1022
|
+
params,
|
1023
|
+
}: {
|
1024
|
+
method: string;
|
1025
|
+
params?: unknown[] | Record<string, unknown>;
|
1026
|
+
}): Promise<T> {
|
1027
|
+
if (!this._isConnected) {
|
1028
|
+
await this.handleConnect();
|
1029
|
+
}
|
1030
|
+
|
1031
|
+
return await this.requestMethod("request", { method, params });
|
1032
|
+
}
|
1033
|
+
|
1034
|
+
async enable(): Promise<string[]> {
|
1035
|
+
return await this.requestMethod("request", {
|
1036
|
+
method: "eth_requestAccounts",
|
1037
|
+
});
|
1038
|
+
}
|
1039
|
+
|
1040
|
+
async net_version(): Promise<string> {
|
1041
|
+
return await this.requestMethod("request", {
|
1042
|
+
method: "net_version",
|
1043
|
+
});
|
1044
|
+
}
|
785
1045
|
}
|