@xyo-network/metamask-connector 2.74.3 → 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,11 +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;
8
9
  get chainId(): string | null;
10
+ on(event: string, listener: Listener): void;
11
+ removeListener(event: string, listener: Listener): void;
12
+ removeListeners(): void;
9
13
  connectWallet(): Promise<void>;
10
14
  isMetaMaskInstalled(): true;
11
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;IAED,IAAI,OAAO,kBAEV;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,11 +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;
8
9
  get chainId(): string | null;
10
+ on(event: string, listener: Listener): void;
11
+ removeListener(event: string, listener: Listener): void;
12
+ removeListeners(): void;
9
13
  connectWallet(): Promise<void>;
10
14
  isMetaMaskInstalled(): true;
11
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;IAED,IAAI,OAAO,kBAEV;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/8cdda39e74362/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/8cdda39e74362/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/8cdda39e74362/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/8cdda39e74362/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/8cdda39e74362/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,7 @@
155
185
  }
156
186
  },
157
187
  {
158
- "id": 10,
188
+ "id": 9,
159
189
  "name": "chainId",
160
190
  "variant": "declaration",
161
191
  "kind": 262144,
@@ -163,13 +193,13 @@
163
193
  "sources": [
164
194
  {
165
195
  "fileName": "MetaMaskConnector.ts",
166
- "line": 22,
196
+ "line": 19,
167
197
  "character": 6,
168
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L22"
198
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L19"
169
199
  }
170
200
  ],
171
201
  "getSignature": {
172
- "id": 11,
202
+ "id": 10,
173
203
  "name": "chainId",
174
204
  "variant": "signature",
175
205
  "kind": 524288,
@@ -177,9 +207,9 @@
177
207
  "sources": [
178
208
  {
179
209
  "fileName": "MetaMaskConnector.ts",
180
- "line": 22,
210
+ "line": 19,
181
211
  "character": 2,
182
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L22"
212
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L19"
183
213
  }
184
214
  ],
185
215
  "type": {
@@ -198,7 +228,7 @@
198
228
  }
199
229
  },
200
230
  {
201
- "id": 8,
231
+ "id": 11,
202
232
  "name": "currentAccount",
203
233
  "variant": "declaration",
204
234
  "kind": 262144,
@@ -206,13 +236,13 @@
206
236
  "sources": [
207
237
  {
208
238
  "fileName": "MetaMaskConnector.ts",
209
- "line": 18,
239
+ "line": 23,
210
240
  "character": 6,
211
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/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"
212
242
  }
213
243
  ],
214
244
  "getSignature": {
215
- "id": 9,
245
+ "id": 12,
216
246
  "name": "currentAccount",
217
247
  "variant": "signature",
218
248
  "kind": 524288,
@@ -220,9 +250,9 @@
220
250
  "sources": [
221
251
  {
222
252
  "fileName": "MetaMaskConnector.ts",
223
- "line": 18,
253
+ "line": 23,
224
254
  "character": 2,
225
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/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"
226
256
  }
227
257
  ],
228
258
  "type": {
@@ -241,7 +271,7 @@
241
271
  }
242
272
  },
243
273
  {
244
- "id": 12,
274
+ "id": 13,
245
275
  "name": "connectWallet",
246
276
  "variant": "declaration",
247
277
  "kind": 2048,
@@ -249,14 +279,14 @@
249
279
  "sources": [
250
280
  {
251
281
  "fileName": "MetaMaskConnector.ts",
252
- "line": 26,
282
+ "line": 27,
253
283
  "character": 8,
254
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L26"
284
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L27"
255
285
  }
256
286
  ],
257
287
  "signatures": [
258
288
  {
259
- "id": 13,
289
+ "id": 14,
260
290
  "name": "connectWallet",
261
291
  "variant": "signature",
262
292
  "kind": 4096,
@@ -264,9 +294,9 @@
264
294
  "sources": [
265
295
  {
266
296
  "fileName": "MetaMaskConnector.ts",
267
- "line": 26,
297
+ "line": 27,
268
298
  "character": 2,
269
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L26"
299
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L27"
270
300
  }
271
301
  ],
272
302
  "type": {
@@ -288,7 +318,7 @@
288
318
  ]
289
319
  },
290
320
  {
291
- "id": 14,
321
+ "id": 15,
292
322
  "name": "isMetaMaskInstalled",
293
323
  "variant": "declaration",
294
324
  "kind": 2048,
@@ -296,14 +326,14 @@
296
326
  "sources": [
297
327
  {
298
328
  "fileName": "MetaMaskConnector.ts",
299
- "line": 42,
329
+ "line": 43,
300
330
  "character": 2,
301
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L42"
331
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L43"
302
332
  }
303
333
  ],
304
334
  "signatures": [
305
335
  {
306
- "id": 15,
336
+ "id": 16,
307
337
  "name": "isMetaMaskInstalled",
308
338
  "variant": "signature",
309
339
  "kind": 4096,
@@ -311,9 +341,9 @@
311
341
  "sources": [
312
342
  {
313
343
  "fileName": "MetaMaskConnector.ts",
314
- "line": 42,
344
+ "line": 43,
315
345
  "character": 2,
316
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L42"
346
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L43"
317
347
  }
318
348
  ],
319
349
  "type": {
@@ -324,7 +354,7 @@
324
354
  ]
325
355
  },
326
356
  {
327
- "id": 16,
357
+ "id": 17,
328
358
  "name": "isWalletIsConnected",
329
359
  "variant": "declaration",
330
360
  "kind": 2048,
@@ -332,14 +362,14 @@
332
362
  "sources": [
333
363
  {
334
364
  "fileName": "MetaMaskConnector.ts",
335
- "line": 46,
365
+ "line": 47,
336
366
  "character": 2,
337
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L46"
367
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L47"
338
368
  }
339
369
  ],
340
370
  "signatures": [
341
371
  {
342
- "id": 17,
372
+ "id": 18,
343
373
  "name": "isWalletIsConnected",
344
374
  "variant": "signature",
345
375
  "kind": 4096,
@@ -347,9 +377,9 @@
347
377
  "sources": [
348
378
  {
349
379
  "fileName": "MetaMaskConnector.ts",
350
- "line": 46,
380
+ "line": 47,
351
381
  "character": 24,
352
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L46"
382
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L47"
353
383
  }
354
384
  ],
355
385
  "type": {
@@ -360,7 +390,7 @@
360
390
  ]
361
391
  },
362
392
  {
363
- "id": 21,
393
+ "id": 32,
364
394
  "name": "logProviderMissing",
365
395
  "variant": "declaration",
366
396
  "kind": 2048,
@@ -370,14 +400,14 @@
370
400
  "sources": [
371
401
  {
372
402
  "fileName": "MetaMaskConnector.ts",
373
- "line": 66,
403
+ "line": 81,
374
404
  "character": 10,
375
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L66"
405
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L81"
376
406
  }
377
407
  ],
378
408
  "signatures": [
379
409
  {
380
- "id": 22,
410
+ "id": 33,
381
411
  "name": "logProviderMissing",
382
412
  "variant": "signature",
383
413
  "kind": 4096,
@@ -385,9 +415,9 @@
385
415
  "sources": [
386
416
  {
387
417
  "fileName": "MetaMaskConnector.ts",
388
- "line": 66,
418
+ "line": 81,
389
419
  "character": 2,
390
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L66"
420
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L81"
391
421
  }
392
422
  ],
393
423
  "type": {
@@ -398,7 +428,173 @@
398
428
  ]
399
429
  },
400
430
  {
401
- "id": 18,
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,
585
+ "character": 2,
586
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L65"
587
+ }
588
+ ],
589
+ "type": {
590
+ "type": "intrinsic",
591
+ "name": "void"
592
+ }
593
+ }
594
+ ]
595
+ },
596
+ {
597
+ "id": 29,
402
598
  "name": "signMessage",
403
599
  "variant": "declaration",
404
600
  "kind": 2048,
@@ -406,14 +602,14 @@
406
602
  "sources": [
407
603
  {
408
604
  "fileName": "MetaMaskConnector.ts",
409
- "line": 54,
605
+ "line": 69,
410
606
  "character": 8,
411
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L54"
607
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L69"
412
608
  }
413
609
  ],
414
610
  "signatures": [
415
611
  {
416
- "id": 19,
612
+ "id": 30,
417
613
  "name": "signMessage",
418
614
  "variant": "signature",
419
615
  "kind": 4096,
@@ -421,14 +617,14 @@
421
617
  "sources": [
422
618
  {
423
619
  "fileName": "MetaMaskConnector.ts",
424
- "line": 54,
620
+ "line": 69,
425
621
  "character": 2,
426
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L54"
622
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/7baa54c6ef52c/packages/sdk/packages/metamask-connector/src/MetaMaskConnector.ts#L69"
427
623
  }
428
624
  ],
429
625
  "parameters": [
430
626
  {
431
- "id": 20,
627
+ "id": 31,
432
628
  "name": "message",
433
629
  "variant": "param",
434
630
  "kind": 32768,
@@ -479,24 +675,28 @@
479
675
  "children": [
480
676
  5,
481
677
  6,
482
- 7
678
+ 7,
679
+ 8
483
680
  ]
484
681
  },
485
682
  {
486
683
  "title": "Accessors",
487
684
  "children": [
488
- 10,
489
- 8
685
+ 9,
686
+ 11
490
687
  ]
491
688
  },
492
689
  {
493
690
  "title": "Methods",
494
691
  "children": [
495
- 12,
496
- 14,
497
- 16,
498
- 21,
499
- 18
692
+ 13,
693
+ 15,
694
+ 17,
695
+ 32,
696
+ 19,
697
+ 23,
698
+ 27,
699
+ 29
500
700
  ]
501
701
  }
502
702
  ],
@@ -505,7 +705,7 @@
505
705
  "fileName": "MetaMaskConnector.ts",
506
706
  "line": 4,
507
707
  "character": 13,
508
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/8cdda39e74362/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"
509
709
  }
510
710
  ]
511
711
  }
@@ -556,15 +756,15 @@
556
756
  },
557
757
  "7": {
558
758
  "sourceFileName": "src/MetaMaskConnector.ts",
559
- "qualifiedName": "MetaMaskConnector.provider"
759
+ "qualifiedName": "MetaMaskConnector.listeners"
560
760
  },
561
761
  "8": {
562
762
  "sourceFileName": "src/MetaMaskConnector.ts",
563
- "qualifiedName": "MetaMaskConnector.currentAccount"
763
+ "qualifiedName": "MetaMaskConnector.provider"
564
764
  },
565
765
  "9": {
566
766
  "sourceFileName": "src/MetaMaskConnector.ts",
567
- "qualifiedName": "MetaMaskConnector.currentAccount"
767
+ "qualifiedName": "MetaMaskConnector.chainId"
568
768
  },
569
769
  "10": {
570
770
  "sourceFileName": "src/MetaMaskConnector.ts",
@@ -572,11 +772,11 @@
572
772
  },
573
773
  "11": {
574
774
  "sourceFileName": "src/MetaMaskConnector.ts",
575
- "qualifiedName": "MetaMaskConnector.chainId"
775
+ "qualifiedName": "MetaMaskConnector.currentAccount"
576
776
  },
577
777
  "12": {
578
778
  "sourceFileName": "src/MetaMaskConnector.ts",
579
- "qualifiedName": "MetaMaskConnector.connectWallet"
779
+ "qualifiedName": "MetaMaskConnector.currentAccount"
580
780
  },
581
781
  "13": {
582
782
  "sourceFileName": "src/MetaMaskConnector.ts",
@@ -584,7 +784,7 @@
584
784
  },
585
785
  "14": {
586
786
  "sourceFileName": "src/MetaMaskConnector.ts",
587
- "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
787
+ "qualifiedName": "MetaMaskConnector.connectWallet"
588
788
  },
589
789
  "15": {
590
790
  "sourceFileName": "src/MetaMaskConnector.ts",
@@ -592,7 +792,7 @@
592
792
  },
593
793
  "16": {
594
794
  "sourceFileName": "src/MetaMaskConnector.ts",
595
- "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
795
+ "qualifiedName": "MetaMaskConnector.isMetaMaskInstalled"
596
796
  },
597
797
  "17": {
598
798
  "sourceFileName": "src/MetaMaskConnector.ts",
@@ -600,21 +800,65 @@
600
800
  },
601
801
  "18": {
602
802
  "sourceFileName": "src/MetaMaskConnector.ts",
603
- "qualifiedName": "MetaMaskConnector.signMessage"
803
+ "qualifiedName": "MetaMaskConnector.isWalletIsConnected"
604
804
  },
605
805
  "19": {
606
806
  "sourceFileName": "src/MetaMaskConnector.ts",
607
- "qualifiedName": "MetaMaskConnector.signMessage"
807
+ "qualifiedName": "MetaMaskConnector.on"
608
808
  },
609
809
  "20": {
610
810
  "sourceFileName": "src/MetaMaskConnector.ts",
611
- "qualifiedName": "message"
811
+ "qualifiedName": "MetaMaskConnector.on"
612
812
  },
613
813
  "21": {
614
814
  "sourceFileName": "src/MetaMaskConnector.ts",
615
- "qualifiedName": "MetaMaskConnector.logProviderMissing"
815
+ "qualifiedName": "event"
616
816
  },
617
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": {
618
862
  "sourceFileName": "src/MetaMaskConnector.ts",
619
863
  "qualifiedName": "MetaMaskConnector.logProviderMissing"
620
864
  }
package/dist/index.js CHANGED
@@ -30,13 +30,13 @@ 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;
@@ -44,6 +44,17 @@ var MetaMaskConnector = class {
44
44
  get chainId() {
45
45
  return this.ethereum?.networkVersion;
46
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
+ }
47
58
  async connectWallet() {
48
59
  if (!this.provider) {
49
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 get chainId() {\n return this.ethereum?.networkVersion\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,IAAI,UAAU;AACZ,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,13 +4,13 @@ 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;
@@ -18,6 +18,17 @@ var MetaMaskConnector = class {
18
18
  get chainId() {
19
19
  return this.ethereum?.networkVersion;
20
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
+ }
21
32
  async connectWallet() {
22
33
  if (!this.provider) {
23
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 get chainId() {\n return this.ethereum?.networkVersion\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,IAAI,UAAU;AACZ,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.3"
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,17 +14,16 @@ export class MetaMaskConnector {
12
14
  } else if (this.ethereum) {
13
15
  this.provider = new Web3Provider(window.ethereum)
14
16
  }
15
- this.provider?.on
16
- }
17
-
18
- get currentAccount() {
19
- return this.ethereum?.selectedAddress
20
17
  }
21
18
 
22
19
  get chainId() {
23
20
  return this.ethereum?.networkVersion
24
21
  }
25
22
 
23
+ get currentAccount() {
24
+ return this.ethereum?.selectedAddress
25
+ }
26
+
26
27
  async connectWallet() {
27
28
  if (!this.provider) {
28
29
  this.logProviderMissing()
@@ -51,6 +52,20 @@ export class MetaMaskConnector {
51
52
  return false
52
53
  }
53
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
+
54
69
  async signMessage(message: string) {
55
70
  if (!this.provider) {
56
71
  this.logProviderMissing()