@xyo-network/metamask-connector 2.74.2 → 2.74.4

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.
@@ -1,10 +1,15 @@
1
- import { Web3Provider } from '@ethersproject/providers';
1
+ import { Listener, Web3Provider } from '@ethersproject/providers';
2
2
  export declare class MetaMaskConnector {
3
3
  private account;
4
4
  private ethereum;
5
5
  private provider;
6
+ private listeners;
6
7
  constructor(provider?: Web3Provider);
7
8
  get currentAccount(): string | null;
9
+ get chainId(): string | null;
10
+ on(event: string, listener: Listener): void;
11
+ removeListener(event: string, listener: Listener): void;
12
+ removeListeners(): void;
8
13
  connectWallet(): Promise<void>;
9
14
  isMetaMaskInstalled(): true;
10
15
  isWalletIsConnected: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../src/MetaMaskConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,QAAQ,CAAC,EAAE,YAAY;IASnC,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,OAAO,CAAC,kBAAkB;CAG3B"}
1
+ {"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../src/MetaMaskConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAA0B;IAE1C,OAAO,CAAC,SAAS,CAAiB;gBAEtB,QAAQ,CAAC,EAAE,YAAY;IAQnC,IAAI,cAAc,kBAEjB;IAED,IAAI,OAAO,kBAEV;IAED,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKpC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,eAAe;IAIT,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -1,10 +1,15 @@
1
- import { Web3Provider } from '@ethersproject/providers';
1
+ import { Listener, Web3Provider } from '@ethersproject/providers';
2
2
  export declare class MetaMaskConnector {
3
3
  private account;
4
4
  private ethereum;
5
5
  private provider;
6
+ private listeners;
6
7
  constructor(provider?: Web3Provider);
7
8
  get currentAccount(): string | null;
9
+ get chainId(): string | null;
10
+ on(event: string, listener: Listener): void;
11
+ removeListener(event: string, listener: Listener): void;
12
+ removeListeners(): void;
8
13
  connectWallet(): Promise<void>;
9
14
  isMetaMaskInstalled(): true;
10
15
  isWalletIsConnected: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../src/MetaMaskConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,QAAQ,CAAC,EAAE,YAAY;IASnC,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,OAAO,CAAC,kBAAkB;CAG3B"}
1
+ {"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../src/MetaMaskConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAA0B;IAE1C,OAAO,CAAC,SAAS,CAAiB;gBAEtB,QAAQ,CAAC,EAAE,YAAY;IAQnC,IAAI,cAAc,kBAEjB;IAED,IAAI,OAAO,kBAEV;IAED,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKpC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,eAAe;IAIT,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,OAAO,CAAC,kBAAkB;CAG3B"}
package/dist/docs.json CHANGED
@@ -21,9 +21,9 @@
21
21
  "sources": [
22
22
  {
23
23
  "fileName": "MetaMaskConnector.ts",
24
- "line": 9,
24
+ "line": 11,
25
25
  "character": 2,
26
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L9"
26
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L11"
27
27
  }
28
28
  ],
29
29
  "signatures": [
@@ -36,9 +36,9 @@
36
36
  "sources": [
37
37
  {
38
38
  "fileName": "MetaMaskConnector.ts",
39
- "line": 9,
39
+ "line": 11,
40
40
  "character": 2,
41
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L9"
41
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L11"
42
42
  }
43
43
  ],
44
44
  "parameters": [
@@ -83,7 +83,7 @@
83
83
  "fileName": "MetaMaskConnector.ts",
84
84
  "line": 5,
85
85
  "character": 10,
86
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L5"
86
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L5"
87
87
  }
88
88
  ],
89
89
  "type": {
@@ -105,7 +105,7 @@
105
105
  "fileName": "MetaMaskConnector.ts",
106
106
  "line": 6,
107
107
  "character": 10,
108
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L6"
108
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L6"
109
109
  }
110
110
  ],
111
111
  "type": {
@@ -121,6 +121,36 @@
121
121
  },
122
122
  {
123
123
  "id": 7,
124
+ "name": "listeners",
125
+ "variant": "declaration",
126
+ "kind": 1024,
127
+ "flags": {
128
+ "isPrivate": true
129
+ },
130
+ "sources": [
131
+ {
132
+ "fileName": "MetaMaskConnector.ts",
133
+ "line": 8,
134
+ "character": 10,
135
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L8"
136
+ }
137
+ ],
138
+ "type": {
139
+ "type": "array",
140
+ "elementType": {
141
+ "type": "reference",
142
+ "target": {
143
+ "sourceFileName": "../../../../node_modules/@ethersproject/abstract-provider/src.ts/index.ts",
144
+ "qualifiedName": "Listener"
145
+ },
146
+ "name": "Listener",
147
+ "package": "@ethersproject/abstract-provider"
148
+ }
149
+ },
150
+ "defaultValue": "[]"
151
+ },
152
+ {
153
+ "id": 8,
124
154
  "name": "provider",
125
155
  "variant": "declaration",
126
156
  "kind": 1024,
@@ -130,9 +160,9 @@
130
160
  "sources": [
131
161
  {
132
162
  "fileName": "MetaMaskConnector.ts",
133
- "line": 7,
163
+ "line": 9,
134
164
  "character": 10,
135
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L7"
165
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L9"
136
166
  }
137
167
  ],
138
168
  "type": {
@@ -155,7 +185,50 @@
155
185
  }
156
186
  },
157
187
  {
158
- "id": 8,
188
+ "id": 9,
189
+ "name": "chainId",
190
+ "variant": "declaration",
191
+ "kind": 262144,
192
+ "flags": {},
193
+ "sources": [
194
+ {
195
+ "fileName": "MetaMaskConnector.ts",
196
+ "line": 19,
197
+ "character": 6,
198
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L19"
199
+ }
200
+ ],
201
+ "getSignature": {
202
+ "id": 10,
203
+ "name": "chainId",
204
+ "variant": "signature",
205
+ "kind": 524288,
206
+ "flags": {},
207
+ "sources": [
208
+ {
209
+ "fileName": "MetaMaskConnector.ts",
210
+ "line": 19,
211
+ "character": 2,
212
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L19"
213
+ }
214
+ ],
215
+ "type": {
216
+ "type": "union",
217
+ "types": [
218
+ {
219
+ "type": "literal",
220
+ "value": null
221
+ },
222
+ {
223
+ "type": "intrinsic",
224
+ "name": "string"
225
+ }
226
+ ]
227
+ }
228
+ }
229
+ },
230
+ {
231
+ "id": 11,
159
232
  "name": "currentAccount",
160
233
  "variant": "declaration",
161
234
  "kind": 262144,
@@ -163,13 +236,13 @@
163
236
  "sources": [
164
237
  {
165
238
  "fileName": "MetaMaskConnector.ts",
166
- "line": 18,
239
+ "line": 23,
167
240
  "character": 6,
168
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L18"
241
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L23"
169
242
  }
170
243
  ],
171
244
  "getSignature": {
172
- "id": 9,
245
+ "id": 12,
173
246
  "name": "currentAccount",
174
247
  "variant": "signature",
175
248
  "kind": 524288,
@@ -177,9 +250,9 @@
177
250
  "sources": [
178
251
  {
179
252
  "fileName": "MetaMaskConnector.ts",
180
- "line": 18,
253
+ "line": 23,
181
254
  "character": 2,
182
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L18"
255
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L23"
183
256
  }
184
257
  ],
185
258
  "type": {
@@ -198,7 +271,7 @@
198
271
  }
199
272
  },
200
273
  {
201
- "id": 10,
274
+ "id": 13,
202
275
  "name": "connectWallet",
203
276
  "variant": "declaration",
204
277
  "kind": 2048,
@@ -206,14 +279,14 @@
206
279
  "sources": [
207
280
  {
208
281
  "fileName": "MetaMaskConnector.ts",
209
- "line": 22,
282
+ "line": 27,
210
283
  "character": 8,
211
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L22"
284
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L27"
212
285
  }
213
286
  ],
214
287
  "signatures": [
215
288
  {
216
- "id": 11,
289
+ "id": 14,
217
290
  "name": "connectWallet",
218
291
  "variant": "signature",
219
292
  "kind": 4096,
@@ -221,9 +294,9 @@
221
294
  "sources": [
222
295
  {
223
296
  "fileName": "MetaMaskConnector.ts",
224
- "line": 22,
297
+ "line": 27,
225
298
  "character": 2,
226
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L22"
299
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L27"
227
300
  }
228
301
  ],
229
302
  "type": {
@@ -245,7 +318,7 @@
245
318
  ]
246
319
  },
247
320
  {
248
- "id": 12,
321
+ "id": 15,
249
322
  "name": "isMetaMaskInstalled",
250
323
  "variant": "declaration",
251
324
  "kind": 2048,
@@ -253,14 +326,14 @@
253
326
  "sources": [
254
327
  {
255
328
  "fileName": "MetaMaskConnector.ts",
256
- "line": 38,
329
+ "line": 43,
257
330
  "character": 2,
258
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L38"
331
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L43"
259
332
  }
260
333
  ],
261
334
  "signatures": [
262
335
  {
263
- "id": 13,
336
+ "id": 16,
264
337
  "name": "isMetaMaskInstalled",
265
338
  "variant": "signature",
266
339
  "kind": 4096,
@@ -268,9 +341,9 @@
268
341
  "sources": [
269
342
  {
270
343
  "fileName": "MetaMaskConnector.ts",
271
- "line": 38,
344
+ "line": 43,
272
345
  "character": 2,
273
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L38"
346
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L43"
274
347
  }
275
348
  ],
276
349
  "type": {
@@ -281,7 +354,7 @@
281
354
  ]
282
355
  },
283
356
  {
284
- "id": 14,
357
+ "id": 17,
285
358
  "name": "isWalletIsConnected",
286
359
  "variant": "declaration",
287
360
  "kind": 2048,
@@ -289,14 +362,14 @@
289
362
  "sources": [
290
363
  {
291
364
  "fileName": "MetaMaskConnector.ts",
292
- "line": 42,
365
+ "line": 47,
293
366
  "character": 2,
294
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L42"
367
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L47"
295
368
  }
296
369
  ],
297
370
  "signatures": [
298
371
  {
299
- "id": 15,
372
+ "id": 18,
300
373
  "name": "isWalletIsConnected",
301
374
  "variant": "signature",
302
375
  "kind": 4096,
@@ -304,9 +377,9 @@
304
377
  "sources": [
305
378
  {
306
379
  "fileName": "MetaMaskConnector.ts",
307
- "line": 42,
380
+ "line": 47,
308
381
  "character": 24,
309
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L42"
382
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L47"
310
383
  }
311
384
  ],
312
385
  "type": {
@@ -317,7 +390,7 @@
317
390
  ]
318
391
  },
319
392
  {
320
- "id": 19,
393
+ "id": 32,
321
394
  "name": "logProviderMissing",
322
395
  "variant": "declaration",
323
396
  "kind": 2048,
@@ -327,14 +400,14 @@
327
400
  "sources": [
328
401
  {
329
402
  "fileName": "MetaMaskConnector.ts",
330
- "line": 62,
403
+ "line": 81,
331
404
  "character": 10,
332
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L62"
405
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L81"
333
406
  }
334
407
  ],
335
408
  "signatures": [
336
409
  {
337
- "id": 20,
410
+ "id": 33,
338
411
  "name": "logProviderMissing",
339
412
  "variant": "signature",
340
413
  "kind": 4096,
@@ -342,9 +415,175 @@
342
415
  "sources": [
343
416
  {
344
417
  "fileName": "MetaMaskConnector.ts",
345
- "line": 62,
418
+ "line": 81,
419
+ "character": 2,
420
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L81"
421
+ }
422
+ ],
423
+ "type": {
424
+ "type": "intrinsic",
425
+ "name": "void"
426
+ }
427
+ }
428
+ ]
429
+ },
430
+ {
431
+ "id": 19,
432
+ "name": "on",
433
+ "variant": "declaration",
434
+ "kind": 2048,
435
+ "flags": {},
436
+ "sources": [
437
+ {
438
+ "fileName": "MetaMaskConnector.ts",
439
+ "line": 55,
440
+ "character": 2,
441
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L55"
442
+ }
443
+ ],
444
+ "signatures": [
445
+ {
446
+ "id": 20,
447
+ "name": "on",
448
+ "variant": "signature",
449
+ "kind": 4096,
450
+ "flags": {},
451
+ "sources": [
452
+ {
453
+ "fileName": "MetaMaskConnector.ts",
454
+ "line": 55,
455
+ "character": 2,
456
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L55"
457
+ }
458
+ ],
459
+ "parameters": [
460
+ {
461
+ "id": 21,
462
+ "name": "event",
463
+ "variant": "param",
464
+ "kind": 32768,
465
+ "flags": {},
466
+ "type": {
467
+ "type": "intrinsic",
468
+ "name": "string"
469
+ }
470
+ },
471
+ {
472
+ "id": 22,
473
+ "name": "listener",
474
+ "variant": "param",
475
+ "kind": 32768,
476
+ "flags": {},
477
+ "type": {
478
+ "type": "reference",
479
+ "target": {
480
+ "sourceFileName": "../../../../node_modules/@ethersproject/abstract-provider/src.ts/index.ts",
481
+ "qualifiedName": "Listener"
482
+ },
483
+ "name": "Listener",
484
+ "package": "@ethersproject/abstract-provider"
485
+ }
486
+ }
487
+ ],
488
+ "type": {
489
+ "type": "intrinsic",
490
+ "name": "void"
491
+ }
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "id": 23,
497
+ "name": "removeListener",
498
+ "variant": "declaration",
499
+ "kind": 2048,
500
+ "flags": {},
501
+ "sources": [
502
+ {
503
+ "fileName": "MetaMaskConnector.ts",
504
+ "line": 60,
505
+ "character": 2,
506
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L60"
507
+ }
508
+ ],
509
+ "signatures": [
510
+ {
511
+ "id": 24,
512
+ "name": "removeListener",
513
+ "variant": "signature",
514
+ "kind": 4096,
515
+ "flags": {},
516
+ "sources": [
517
+ {
518
+ "fileName": "MetaMaskConnector.ts",
519
+ "line": 60,
520
+ "character": 2,
521
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L60"
522
+ }
523
+ ],
524
+ "parameters": [
525
+ {
526
+ "id": 25,
527
+ "name": "event",
528
+ "variant": "param",
529
+ "kind": 32768,
530
+ "flags": {},
531
+ "type": {
532
+ "type": "intrinsic",
533
+ "name": "string"
534
+ }
535
+ },
536
+ {
537
+ "id": 26,
538
+ "name": "listener",
539
+ "variant": "param",
540
+ "kind": 32768,
541
+ "flags": {},
542
+ "type": {
543
+ "type": "reference",
544
+ "target": {
545
+ "sourceFileName": "../../../../node_modules/@ethersproject/abstract-provider/src.ts/index.ts",
546
+ "qualifiedName": "Listener"
547
+ },
548
+ "name": "Listener",
549
+ "package": "@ethersproject/abstract-provider"
550
+ }
551
+ }
552
+ ],
553
+ "type": {
554
+ "type": "intrinsic",
555
+ "name": "void"
556
+ }
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "id": 27,
562
+ "name": "removeListeners",
563
+ "variant": "declaration",
564
+ "kind": 2048,
565
+ "flags": {},
566
+ "sources": [
567
+ {
568
+ "fileName": "MetaMaskConnector.ts",
569
+ "line": 65,
570
+ "character": 2,
571
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L65"
572
+ }
573
+ ],
574
+ "signatures": [
575
+ {
576
+ "id": 28,
577
+ "name": "removeListeners",
578
+ "variant": "signature",
579
+ "kind": 4096,
580
+ "flags": {},
581
+ "sources": [
582
+ {
583
+ "fileName": "MetaMaskConnector.ts",
584
+ "line": 65,
346
585
  "character": 2,
347
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L62"
586
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L65"
348
587
  }
349
588
  ],
350
589
  "type": {
@@ -355,7 +594,7 @@
355
594
  ]
356
595
  },
357
596
  {
358
- "id": 16,
597
+ "id": 29,
359
598
  "name": "signMessage",
360
599
  "variant": "declaration",
361
600
  "kind": 2048,
@@ -363,14 +602,14 @@
363
602
  "sources": [
364
603
  {
365
604
  "fileName": "MetaMaskConnector.ts",
366
- "line": 50,
605
+ "line": 69,
367
606
  "character": 8,
368
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L50"
607
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L69"
369
608
  }
370
609
  ],
371
610
  "signatures": [
372
611
  {
373
- "id": 17,
612
+ "id": 30,
374
613
  "name": "signMessage",
375
614
  "variant": "signature",
376
615
  "kind": 4096,
@@ -378,14 +617,14 @@
378
617
  "sources": [
379
618
  {
380
619
  "fileName": "MetaMaskConnector.ts",
381
- "line": 50,
620
+ "line": 69,
382
621
  "character": 2,
383
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L50"
622
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L69"
384
623
  }
385
624
  ],
386
625
  "parameters": [
387
626
  {
388
- "id": 18,
627
+ "id": 31,
389
628
  "name": "message",
390
629
  "variant": "param",
391
630
  "kind": 32768,
@@ -436,23 +675,28 @@
436
675
  "children": [
437
676
  5,
438
677
  6,
439
- 7
678
+ 7,
679
+ 8
440
680
  ]
441
681
  },
442
682
  {
443
683
  "title": "Accessors",
444
684
  "children": [
445
- 8
685
+ 9,
686
+ 11
446
687
  ]
447
688
  },
448
689
  {
449
690
  "title": "Methods",
450
691
  "children": [
451
- 10,
452
- 12,
453
- 14,
692
+ 13,
693
+ 15,
694
+ 17,
695
+ 32,
454
696
  19,
455
- 16
697
+ 23,
698
+ 27,
699
+ 29
456
700
  ]
457
701
  }
458
702
  ],
@@ -461,7 +705,7 @@
461
705
  "fileName": "MetaMaskConnector.ts",
462
706
  "line": 4,
463
707
  "character": 13,
464
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L4"
708
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L4"
465
709
  }
466
710
  ]
467
711
  }
@@ -512,57 +756,109 @@
512
756
  },
513
757
  "7": {
514
758
  "sourceFileName": "src/MetaMaskConnector.ts",
515
- "qualifiedName": "MetaMaskConnector.provider"
759
+ "qualifiedName": "MetaMaskConnector.listeners"
516
760
  },
517
761
  "8": {
518
762
  "sourceFileName": "src/MetaMaskConnector.ts",
519
- "qualifiedName": "MetaMaskConnector.currentAccount"
763
+ "qualifiedName": "MetaMaskConnector.provider"
520
764
  },
521
765
  "9": {
522
766
  "sourceFileName": "src/MetaMaskConnector.ts",
523
- "qualifiedName": "MetaMaskConnector.currentAccount"
767
+ "qualifiedName": "MetaMaskConnector.chainId"
524
768
  },
525
769
  "10": {
526
770
  "sourceFileName": "src/MetaMaskConnector.ts",
527
- "qualifiedName": "MetaMaskConnector.connectWallet"
771
+ "qualifiedName": "MetaMaskConnector.chainId"
528
772
  },
529
773
  "11": {
530
774
  "sourceFileName": "src/MetaMaskConnector.ts",
531
- "qualifiedName": "MetaMaskConnector.connectWallet"
775
+ "qualifiedName": "MetaMaskConnector.currentAccount"
532
776
  },
533
777
  "12": {
534
778
  "sourceFileName": "src/MetaMaskConnector.ts",
535
- "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
779
+ "qualifiedName": "MetaMaskConnector.currentAccount"
536
780
  },
537
781
  "13": {
538
782
  "sourceFileName": "src/MetaMaskConnector.ts",
539
- "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
783
+ "qualifiedName": "MetaMaskConnector.connectWallet"
540
784
  },
541
785
  "14": {
542
786
  "sourceFileName": "src/MetaMaskConnector.ts",
543
- "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
787
+ "qualifiedName": "MetaMaskConnector.connectWallet"
544
788
  },
545
789
  "15": {
546
790
  "sourceFileName": "src/MetaMaskConnector.ts",
547
- "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
791
+ "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
548
792
  },
549
793
  "16": {
550
794
  "sourceFileName": "src/MetaMaskConnector.ts",
551
- "qualifiedName": "MetaMaskConnector.signMessage"
795
+ "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
552
796
  },
553
797
  "17": {
554
798
  "sourceFileName": "src/MetaMaskConnector.ts",
555
- "qualifiedName": "MetaMaskConnector.signMessage"
799
+ "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
556
800
  },
557
801
  "18": {
558
802
  "sourceFileName": "src/MetaMaskConnector.ts",
559
- "qualifiedName": "message"
803
+ "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
560
804
  },
561
805
  "19": {
562
806
  "sourceFileName": "src/MetaMaskConnector.ts",
563
- "qualifiedName": "MetaMaskConnector.logProviderMissing"
807
+ "qualifiedName": "MetaMaskConnector.on"
564
808
  },
565
809
  "20": {
810
+ "sourceFileName": "src/MetaMaskConnector.ts",
811
+ "qualifiedName": "MetaMaskConnector.on"
812
+ },
813
+ "21": {
814
+ "sourceFileName": "src/MetaMaskConnector.ts",
815
+ "qualifiedName": "event"
816
+ },
817
+ "22": {
818
+ "sourceFileName": "src/MetaMaskConnector.ts",
819
+ "qualifiedName": "listener"
820
+ },
821
+ "23": {
822
+ "sourceFileName": "src/MetaMaskConnector.ts",
823
+ "qualifiedName": "MetaMaskConnector.removeListener"
824
+ },
825
+ "24": {
826
+ "sourceFileName": "src/MetaMaskConnector.ts",
827
+ "qualifiedName": "MetaMaskConnector.removeListener"
828
+ },
829
+ "25": {
830
+ "sourceFileName": "src/MetaMaskConnector.ts",
831
+ "qualifiedName": "event"
832
+ },
833
+ "26": {
834
+ "sourceFileName": "src/MetaMaskConnector.ts",
835
+ "qualifiedName": "listener"
836
+ },
837
+ "27": {
838
+ "sourceFileName": "src/MetaMaskConnector.ts",
839
+ "qualifiedName": "MetaMaskConnector.removeListeners"
840
+ },
841
+ "28": {
842
+ "sourceFileName": "src/MetaMaskConnector.ts",
843
+ "qualifiedName": "MetaMaskConnector.removeListeners"
844
+ },
845
+ "29": {
846
+ "sourceFileName": "src/MetaMaskConnector.ts",
847
+ "qualifiedName": "MetaMaskConnector.signMessage"
848
+ },
849
+ "30": {
850
+ "sourceFileName": "src/MetaMaskConnector.ts",
851
+ "qualifiedName": "MetaMaskConnector.signMessage"
852
+ },
853
+ "31": {
854
+ "sourceFileName": "src/MetaMaskConnector.ts",
855
+ "qualifiedName": "message"
856
+ },
857
+ "32": {
858
+ "sourceFileName": "src/MetaMaskConnector.ts",
859
+ "qualifiedName": "MetaMaskConnector.logProviderMissing"
860
+ },
861
+ "33": {
566
862
  "sourceFileName": "src/MetaMaskConnector.ts",
567
863
  "qualifiedName": "MetaMaskConnector.logProviderMissing"
568
864
  }
package/dist/index.js CHANGED
@@ -30,17 +30,31 @@ var MetaMaskConnector = class {
30
30
  account = "";
31
31
  ethereum = window.ethereum;
32
32
  provider;
33
+ listeners = [];
33
34
  constructor(provider) {
34
35
  if (provider) {
35
36
  this.provider = provider;
36
37
  } else if (this.ethereum) {
37
38
  this.provider = new import_providers.Web3Provider(window.ethereum);
38
39
  }
39
- this.provider?.on;
40
40
  }
41
41
  get currentAccount() {
42
42
  return this.ethereum?.selectedAddress;
43
43
  }
44
+ get chainId() {
45
+ return this.ethereum?.networkVersion;
46
+ }
47
+ on(event, listener) {
48
+ this.provider.on(event, listener);
49
+ this.listeners.push(listener);
50
+ }
51
+ removeListener(event, listener) {
52
+ this.provider.removeListener(event, listener);
53
+ this.listeners = this.listeners.filter((savedListener) => listener !== savedListener);
54
+ }
55
+ removeListeners() {
56
+ this.provider.removeAllListeners();
57
+ }
44
58
  async connectWallet() {
45
59
  if (!this.provider) {
46
60
  this.logProviderMissing();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import { Web3Provider } from '@ethersproject/providers'\nimport { MetaMaskInpageProvider } from '@metamask/providers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n private provider: Web3Provider | undefined\n\n constructor(provider?: Web3Provider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new Web3Provider(window.ethereum)\n }\n this.provider?.on\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAA6B;AAGtB,IAAM,oBAAN,MAAwB;AAAA,EACrB,UAAU;AAAA,EACV,WAAW,OAAO;AAAA,EAClB;AAAA,EAER,YAAY,UAAyB;AACnC,QAAI,UAAU;AACZ,WAAK,WAAW;AAAA,IAClB,WAAW,KAAK,UAAU;AACxB,WAAK,WAAW,IAAI,8BAAa,OAAO,QAAQ;AAAA,IAClD;AACA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,iBAAiB;AACnB,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,MAAM,gBAAgB;AACpB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,KAAK,uBAAuB,CAAC,CAAC;AAEnE,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,UAAU,SAAS,CAAC;AACzB,cAAQ,IAAI,eAAe,KAAK,OAAO;AAAA,IACzC,OAAO;AACL,cAAQ,IAAI,8BAA8B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK,YAAY,KAAK,SAAS;AAAA,EACxC;AAAA,EAEA,sBAAsB,MAAM;AAC1B,QAAI,KAAK,gBAAgB;AACvB,cAAQ,IAAI,iCAAiC,KAAK,UAAU,eAAe;AAC3E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,SAAiB;AACjC,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,UAAU;AACvC,UAAM,OAAO,WAAW;AACxB,UAAM,YAAY,MAAM,OAAO,YAAY,OAAO;AAClD,WAAO;AAAA,EACT;AAAA,EAEQ,qBAAqB;AAC3B,YAAQ,KAAK,iHAAiH;AAAA,EAChI;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import { Listener, Web3Provider } from '@ethersproject/providers'\nimport { MetaMaskInpageProvider } from '@metamask/providers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n private provider: Web3Provider | undefined\n\n private listeners: Listener[] = []\n\n constructor(provider?: Web3Provider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new Web3Provider(window.ethereum)\n }\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n on(event: string, listener: Listener) {\n this.provider.on(event, listener)\n this.listeners.push(listener)\n }\n\n removeListener(event: string, listener: Listener) {\n this.provider.removeListener(event, listener)\n this.listeners = this.listeners.filter(savedListener => listener !== savedListener)\n }\n\n removeListeners() {\n this.provider.removeAllListeners()\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAAuC;AAGhC,IAAM,oBAAN,MAAwB;AAAA,EACrB,UAAU;AAAA,EACV,WAAW,OAAO;AAAA,EAClB;AAAA,EAEA,YAAwB,CAAC;AAAA,EAEjC,YAAY,UAAyB;AACnC,QAAI,UAAU;AACZ,WAAK,WAAW;AAAA,IAClB,WAAW,KAAK,UAAU;AACxB,WAAK,WAAW,IAAI,8BAAa,OAAO,QAAQ;AAAA,IAClD;AAAA,EACF;AAAA,EAEA,IAAI,iBAAiB;AACnB,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,GAAG,OAAe,UAAoB;AACpC,SAAK,SAAS,GAAG,OAAO,QAAQ;AAChC,SAAK,UAAU,KAAK,QAAQ;AAAA,EAC9B;AAAA,EAEA,eAAe,OAAe,UAAoB;AAChD,SAAK,SAAS,eAAe,OAAO,QAAQ;AAC5C,SAAK,YAAY,KAAK,UAAU,OAAO,mBAAiB,aAAa,aAAa;AAAA,EACpF;AAAA,EAEA,kBAAkB;AAChB,SAAK,SAAS,mBAAmB;AAAA,EACnC;AAAA,EAEA,MAAM,gBAAgB;AACpB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,KAAK,uBAAuB,CAAC,CAAC;AAEnE,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,UAAU,SAAS,CAAC;AACzB,cAAQ,IAAI,eAAe,KAAK,OAAO;AAAA,IACzC,OAAO;AACL,cAAQ,IAAI,8BAA8B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK,YAAY,KAAK,SAAS;AAAA,EACxC;AAAA,EAEA,sBAAsB,MAAM;AAC1B,QAAI,KAAK,gBAAgB;AACvB,cAAQ,IAAI,iCAAiC,KAAK,UAAU,eAAe;AAC3E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,SAAiB;AACjC,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,UAAU;AACvC,UAAM,OAAO,WAAW;AACxB,UAAM,YAAY,MAAM,OAAO,YAAY,OAAO;AAClD,WAAO;AAAA,EACT;AAAA,EAEQ,qBAAqB;AAC3B,YAAQ,KAAK,iHAAiH;AAAA,EAChI;AACF;","names":[]}
package/dist/index.mjs CHANGED
@@ -4,17 +4,31 @@ var MetaMaskConnector = class {
4
4
  account = "";
5
5
  ethereum = window.ethereum;
6
6
  provider;
7
+ listeners = [];
7
8
  constructor(provider) {
8
9
  if (provider) {
9
10
  this.provider = provider;
10
11
  } else if (this.ethereum) {
11
12
  this.provider = new Web3Provider(window.ethereum);
12
13
  }
13
- this.provider?.on;
14
14
  }
15
15
  get currentAccount() {
16
16
  return this.ethereum?.selectedAddress;
17
17
  }
18
+ get chainId() {
19
+ return this.ethereum?.networkVersion;
20
+ }
21
+ on(event, listener) {
22
+ this.provider.on(event, listener);
23
+ this.listeners.push(listener);
24
+ }
25
+ removeListener(event, listener) {
26
+ this.provider.removeListener(event, listener);
27
+ this.listeners = this.listeners.filter((savedListener) => listener !== savedListener);
28
+ }
29
+ removeListeners() {
30
+ this.provider.removeAllListeners();
31
+ }
18
32
  async connectWallet() {
19
33
  if (!this.provider) {
20
34
  this.logProviderMissing();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MetaMaskConnector.ts"],"sourcesContent":["import { Web3Provider } from '@ethersproject/providers'\nimport { MetaMaskInpageProvider } from '@metamask/providers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n private provider: Web3Provider | undefined\n\n constructor(provider?: Web3Provider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new Web3Provider(window.ethereum)\n }\n this.provider?.on\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":";AAAA,SAAS,oBAAoB;AAGtB,IAAM,oBAAN,MAAwB;AAAA,EACrB,UAAU;AAAA,EACV,WAAW,OAAO;AAAA,EAClB;AAAA,EAER,YAAY,UAAyB;AACnC,QAAI,UAAU;AACZ,WAAK,WAAW;AAAA,IAClB,WAAW,KAAK,UAAU;AACxB,WAAK,WAAW,IAAI,aAAa,OAAO,QAAQ;AAAA,IAClD;AACA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,iBAAiB;AACnB,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,MAAM,gBAAgB;AACpB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,KAAK,uBAAuB,CAAC,CAAC;AAEnE,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,UAAU,SAAS,CAAC;AACzB,cAAQ,IAAI,eAAe,KAAK,OAAO;AAAA,IACzC,OAAO;AACL,cAAQ,IAAI,8BAA8B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK,YAAY,KAAK,SAAS;AAAA,EACxC;AAAA,EAEA,sBAAsB,MAAM;AAC1B,QAAI,KAAK,gBAAgB;AACvB,cAAQ,IAAI,iCAAiC,KAAK,UAAU,eAAe;AAC3E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,SAAiB;AACjC,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,UAAU;AACvC,UAAM,OAAO,WAAW;AACxB,UAAM,YAAY,MAAM,OAAO,YAAY,OAAO;AAClD,WAAO;AAAA,EACT;AAAA,EAEQ,qBAAqB;AAC3B,YAAQ,KAAK,iHAAiH;AAAA,EAChI;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/MetaMaskConnector.ts"],"sourcesContent":["import { Listener, Web3Provider } from '@ethersproject/providers'\nimport { MetaMaskInpageProvider } from '@metamask/providers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n private provider: Web3Provider | undefined\n\n private listeners: Listener[] = []\n\n constructor(provider?: Web3Provider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new Web3Provider(window.ethereum)\n }\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n on(event: string, listener: Listener) {\n this.provider.on(event, listener)\n this.listeners.push(listener)\n }\n\n removeListener(event: string, listener: Listener) {\n this.provider.removeListener(event, listener)\n this.listeners = this.listeners.filter(savedListener => listener !== savedListener)\n }\n\n removeListeners() {\n this.provider.removeAllListeners()\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":";AAAA,SAAmB,oBAAoB;AAGhC,IAAM,oBAAN,MAAwB;AAAA,EACrB,UAAU;AAAA,EACV,WAAW,OAAO;AAAA,EAClB;AAAA,EAEA,YAAwB,CAAC;AAAA,EAEjC,YAAY,UAAyB;AACnC,QAAI,UAAU;AACZ,WAAK,WAAW;AAAA,IAClB,WAAW,KAAK,UAAU;AACxB,WAAK,WAAW,IAAI,aAAa,OAAO,QAAQ;AAAA,IAClD;AAAA,EACF;AAAA,EAEA,IAAI,iBAAiB;AACnB,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,GAAG,OAAe,UAAoB;AACpC,SAAK,SAAS,GAAG,OAAO,QAAQ;AAChC,SAAK,UAAU,KAAK,QAAQ;AAAA,EAC9B;AAAA,EAEA,eAAe,OAAe,UAAoB;AAChD,SAAK,SAAS,eAAe,OAAO,QAAQ;AAC5C,SAAK,YAAY,KAAK,UAAU,OAAO,mBAAiB,aAAa,aAAa;AAAA,EACpF;AAAA,EAEA,kBAAkB;AAChB,SAAK,SAAS,mBAAmB;AAAA,EACnC;AAAA,EAEA,MAAM,gBAAgB;AACpB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,KAAK,uBAAuB,CAAC,CAAC;AAEnE,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,UAAU,SAAS,CAAC;AACzB,cAAQ,IAAI,eAAe,KAAK,OAAO;AAAA,IACzC,OAAO;AACL,cAAQ,IAAI,8BAA8B;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK,YAAY,KAAK,SAAS;AAAA,EACxC;AAAA,EAEA,sBAAsB,MAAM;AAC1B,QAAI,KAAK,gBAAgB;AACvB,cAAQ,IAAI,iCAAiC,KAAK,UAAU,eAAe;AAC3E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,SAAiB;AACjC,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,mBAAmB;AACxB;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,UAAU;AACvC,UAAM,OAAO,WAAW;AACxB,UAAM,YAAY,MAAM,OAAO,YAAY,OAAO;AAClD,WAAO;AAAA,EACT;AAAA,EAEQ,qBAAqB;AAC3B,YAAQ,KAAK,iHAAiH;AAAA,EAChI;AACF;","names":[]}
package/package.json CHANGED
@@ -58,5 +58,5 @@
58
58
  },
59
59
  "sideEffects": false,
60
60
  "types": "dist/index.d.ts",
61
- "version": "2.74.2"
61
+ "version": "2.74.4"
62
62
  }
@@ -1,9 +1,11 @@
1
- import { Web3Provider } from '@ethersproject/providers'
1
+ import { Listener, Web3Provider } from '@ethersproject/providers'
2
2
  import { MetaMaskInpageProvider } from '@metamask/providers'
3
3
 
4
4
  export class MetaMaskConnector {
5
5
  private account = ''
6
6
  private ethereum = window.ethereum as MetaMaskInpageProvider
7
+
8
+ private listeners: Listener[] = []
7
9
  private provider: Web3Provider | undefined
8
10
 
9
11
  constructor(provider?: Web3Provider) {
@@ -12,7 +14,10 @@ export class MetaMaskConnector {
12
14
  } else if (this.ethereum) {
13
15
  this.provider = new Web3Provider(window.ethereum)
14
16
  }
15
- this.provider?.on
17
+ }
18
+
19
+ get chainId() {
20
+ return this.ethereum?.networkVersion
16
21
  }
17
22
 
18
23
  get currentAccount() {
@@ -47,6 +52,20 @@ export class MetaMaskConnector {
47
52
  return false
48
53
  }
49
54
 
55
+ on(event: string, listener: Listener) {
56
+ this.provider?.on(event, listener)
57
+ this.listeners.push(listener)
58
+ }
59
+
60
+ removeListener(event: string, listener: Listener) {
61
+ this.provider?.removeListener(event, listener)
62
+ this.listeners = this.listeners.filter((savedListener) => listener !== savedListener)
63
+ }
64
+
65
+ removeListeners() {
66
+ this.provider?.removeAllListeners()
67
+ }
68
+
50
69
  async signMessage(message: string) {
51
70
  if (!this.provider) {
52
71
  this.logProviderMissing()