@keplr-wallet/provider 0.12.95 → 0.12.96-rc.0

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 CHANGED
@@ -1,7 +1,9 @@
1
- import { ChainInfo, EthSignType, Keplr as IKeplr, KeplrIntereactionOptions, KeplrMode, KeplrSignOptions, Key, BroadcastMode, AminoSignResponse, StdSignDoc, StdTx, OfflineAminoSigner, StdSignature, DirectSignResponse, OfflineDirectSigner, ICNSAdr36Signatures, ChainInfoWithoutEndpoints, SecretUtils, SettledResponses, DirectAuxSignResponse } from "@keplr-wallet/types";
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
- import { ChainInfo, EthSignType, Keplr, Keplr as IKeplr, KeplrIntereactionOptions, KeplrMode, KeplrSignOptions, Key, BroadcastMode, AminoSignResponse, StdSignDoc, OfflineAminoSigner, StdSignature, StdTx, DirectSignResponse, OfflineDirectSigner, ICNSAdr36Signatures, ChainInfoWithoutEndpoints, SecretUtils, SettledResponses, DirectAuxSignResponse } from "@keplr-wallet/types";
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
- typeof keplr[message.method] !== "function") {
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
@@ -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.95",
3
+ "version": "0.12.96-rc.0",
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.95",
20
- "@keplr-wallet/types": "0.12.95",
19
+ "@keplr-wallet/router": "0.12.96-rc.0",
20
+ "@keplr-wallet/types": "0.12.96-rc.0",
21
21
  "buffer": "^6.0.3",
22
22
  "deepmerge": "^4.2.2",
23
23
  "long": "^4.0.0"
24
24
  },
25
- "gitHead": "2f1066af141b412410869ec0b7f06494d67e5e6e"
25
+ "gitHead": "fd75378ce2efcef63dd94874c219f84b689d95e6"
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
- typeof keplr[message.method] !== "function"
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
  }