@dynamic-labs/multi-wallet 0.14.30 → 0.14.31

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.14.30",
3
+ "version": "0.14.31",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -21,9 +21,11 @@
21
21
  "@onflow/fcl": "^1.3.2",
22
22
  "get-starknet": "^1.5.0",
23
23
  "@walletconnect/ethereum-provider": "^1.8.0",
24
- "@walletconnect/types": "^2.2.1",
25
24
  "tslib": "^2.4.1"
26
25
  },
26
+ "devDependencies": {
27
+ "@walletconnect/types": "^2.2.1"
28
+ },
27
29
  "description": "Multi-wallet is a toolkit for working with many different wallets to create and verify signatures",
28
30
  "bugs": {
29
31
  "url": "https://github.com/dynamic-labs/DynamicAuth/issues"
@@ -1,3 +1,4 @@
1
+ import SignClient from '@walletconnect/sign-client';
1
2
  import { EvmNetwork } from '../ethereum/evm-network';
2
3
  import { EthProvider } from '../ethereum/ethProvider';
3
4
  import { WalletConnector, Chain, FetchPublicAddressOpts, WalletEventListeners } from '../wallet-connector';
@@ -16,7 +17,7 @@ declare class WalletConnectV2 extends EthProvider implements WalletConnector {
16
17
  walletName: string;
17
18
  });
18
19
  get key(): string;
19
- getClient(): Promise<import("@walletconnect/sign-client").default>;
20
+ getClient(): Promise<SignClient>;
20
21
  supportsNetworkSwitching(): boolean;
21
22
  setupEventListeners(listeners: WalletEventListeners): void;
22
23
  teardownEventListeners(): void;
@@ -1,11 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const sign_client_1 = tslib_1.__importDefault(require("@walletconnect/sign-client"));
4
5
  const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
5
6
  const walletConnect_1 = require("../../utils/walletConnect");
6
- const walletConnectV2_1 = require("../clients/walletConnect/walletConnectV2");
7
7
  const ethProvider_1 = require("../ethereum/ethProvider");
8
8
  const console_1 = tslib_1.__importDefault(require("../../utils/console"));
9
+ const isMobile_1 = require("../../utils/isMobile");
10
+ const walletConnect_2 = require("../clients/walletConnect");
11
+ let signClient;
12
+ const getInitializedSignClient = (signClientOpts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
13
+ if (!signClient) {
14
+ signClient = yield sign_client_1.default.init(signClientOpts);
15
+ }
16
+ return signClient;
17
+ });
18
+ const performPlatformSpecificConnectionMethod = (uri, metadata, opts) => {
19
+ var _a, _b, _c;
20
+ if ((0, isMobile_1.isMobile)()) {
21
+ const deepLink = (0, walletConnect_2.getDeepLink)(uri, metadata);
22
+ window.location.href = deepLink;
23
+ }
24
+ else {
25
+ if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
26
+ const desktopUri = (0, walletConnect_2.getDeepLink)(uri, metadata);
27
+ (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, desktopUri);
28
+ }
29
+ (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, uri);
30
+ }
31
+ };
9
32
  const sessionTopicKey = (walletName) => `dynamic-wc2-session-topic-${walletName}`;
10
33
  class WalletConnectV2 extends ethProvider_1.EthProvider {
11
34
  constructor({ evmNetworks, projectId = '576019bf293b1e85c695806832b20fe7', walletName, }) {
@@ -24,7 +47,7 @@ class WalletConnectV2 extends ethProvider_1.EthProvider {
24
47
  }
25
48
  getClient() {
26
49
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
- return (0, walletConnectV2_1.getInitializedSignClient)({
50
+ return getInitializedSignClient({
28
51
  projectId: this.projectId,
29
52
  });
30
53
  });
@@ -33,14 +56,24 @@ class WalletConnectV2 extends ethProvider_1.EthProvider {
33
56
  return false;
34
57
  }
35
58
  setupEventListeners(listeners) {
36
- (0, walletConnectV2_1.setupWalletConnectEventListeners)(Object.assign(Object.assign({}, listeners), { onDisconnect: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
37
- var _a;
38
- localStorage.removeItem(sessionTopicKey(this.name));
39
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
40
- }) }));
59
+ if (!signClient) {
60
+ return;
61
+ }
62
+ signClient.on('session_event', (args) => {
63
+ console_1.default.log('session_event', args);
64
+ });
65
+ signClient.on('session_delete', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
66
+ var _a;
67
+ localStorage.removeItem(sessionTopicKey(this.name));
68
+ yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
69
+ }));
41
70
  }
42
71
  teardownEventListeners() {
43
- (0, walletConnectV2_1.teardownWalletConnectEventListeners)();
72
+ if (!signClient) {
73
+ return;
74
+ }
75
+ signClient.removeAllListeners('session_event');
76
+ signClient.removeAllListeners('session_delete');
44
77
  }
45
78
  getWeb3Provider() {
46
79
  return undefined;
@@ -59,14 +92,38 @@ class WalletConnectV2 extends ethProvider_1.EthProvider {
59
92
  if (accounts.length) {
60
93
  return accounts[0];
61
94
  }
62
- const session = yield (0, walletConnectV2_1.fetchWalletConnectPublicAddress)((0, walletConnect_1.getWalletConnectMetadata)(this.name), yield this.getClient(), opts);
63
- if (session) {
64
- localStorage.setItem(sessionTopicKey(this.name), session.topic);
65
- return session.namespaces.eip155.accounts[0].split(':')[2];
66
- }
67
- else {
68
- return undefined;
95
+ const client = yield this.getClient();
96
+ const metadata = (0, walletConnect_1.getWalletConnectMetadata)(this.name);
97
+ const { uri, approval } = yield client.connect({
98
+ pairingTopic: undefined,
99
+ relays: undefined,
100
+ requiredNamespaces: {
101
+ // todo: generalize this input based on Dynamic project settings
102
+ eip155: {
103
+ chains: ['eip155:1'],
104
+ events: ['chainChanged', 'accountsChanged'],
105
+ methods: [
106
+ 'eth_sendTransaction',
107
+ 'eth_signTransaction',
108
+ 'eth_sign',
109
+ 'personal_sign',
110
+ 'eth_signTypedData',
111
+ ],
112
+ },
113
+ },
114
+ });
115
+ if (uri) {
116
+ performPlatformSpecificConnectionMethod(uri, metadata, {
117
+ onDesktopUri: opts === null || opts === void 0 ? void 0 : opts.onDesktopUri,
118
+ onDisplayUri: opts === null || opts === void 0 ? void 0 : opts.onDisplayUri,
119
+ });
120
+ const session = yield approval();
121
+ if (session) {
122
+ localStorage.setItem(sessionTopicKey(this.name), session.topic);
123
+ return session.namespaces.eip155.accounts[0].split(':')[2];
124
+ }
69
125
  }
126
+ return undefined;
70
127
  });
71
128
  }
72
129
  signMessage(messageToSign) {
@@ -75,7 +132,16 @@ class WalletConnectV2 extends ethProvider_1.EthProvider {
75
132
  if (!storedSessionTopic) {
76
133
  return;
77
134
  }
78
- return (0, walletConnectV2_1.signWalletConnectPersonalMessage)(messageToSign, (0, walletConnect_1.getWalletConnectMetadata)(this.name), yield this.getClient(), storedSessionTopic);
135
+ const client = yield this.getClient();
136
+ const session = client.session.get(storedSessionTopic);
137
+ return client.request({
138
+ chainId: 'eip155:1',
139
+ request: {
140
+ method: 'personal_sign',
141
+ params: [messageToSign, session.namespaces.eip155.accounts[0]],
142
+ },
143
+ topic: session.topic,
144
+ });
79
145
  });
80
146
  }
81
147
  proveOwnership(messageToSign) {
@@ -89,8 +155,18 @@ class WalletConnectV2 extends ethProvider_1.EthProvider {
89
155
  if (!storedSessionTopic) {
90
156
  return;
91
157
  }
158
+ if (!signClient) {
159
+ return;
160
+ }
92
161
  try {
93
- yield (0, walletConnectV2_1.disconnectWalletConnectSession)(storedSessionTopic);
162
+ yield signClient.disconnect({
163
+ // https://github.com/WalletConnect/walletconnect-monorepo/blob/v2.0/packages/utils/src/errors.ts#L87-L90
164
+ reason: {
165
+ code: 6000,
166
+ message: 'User disconnected',
167
+ },
168
+ topic: storedSessionTopic,
169
+ });
94
170
  localStorage.removeItem(sessionTopicKey(this.name));
95
171
  }
96
172
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"walletConnectV2.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnectV2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletConnectV2.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnectV2.ts"],"names":[],"mappings":";;;AAAA,qFAAoD;AAIpD,yEAAsE;AACtE,6DAAqE;AACrE,yDAAsD;AAOtD,0EAA0C;AAC1C,mDAAgD;AAChD,4DAAuD;AAGvD,IAAI,UAAkC,CAAC;AAEvC,MAAM,wBAAwB,GAAG,CAC/B,cAAuC,EACvC,EAAE;IACF,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,MAAM,qBAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACpD;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA,CAAC;AAEF,MAAM,uCAAuC,GAAG,CAC9C,GAAW,EACX,QAAqC,EACrC,IAAmE,EACnE,EAAE;;IACF,IAAI,IAAA,mBAAQ,GAAE,EAAE;QACd,MAAM,QAAQ,GAAG,IAAA,2BAAW,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;KACjC;SAAM;QACL,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,MAAM,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAA,2BAAW,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,UAAU,CAAC,CAAC;SAClC;QAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,GAAG,CAAC,CAAC;KAC3B;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC7C,6BAA6B,UAAU,EAAE,CAAC;AAE5C,MAAM,eAAgB,SAAQ,yBAAW;IAavC,YAAY,EACV,WAAW,EACX,SAAS,GAAG,kCAAkC,EAC9C,UAAU,GAKX;QACC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QArBzB,oBAAe,GAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1C,mBAAc,GAAU,KAAK,CAAC;QAK9B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;QACtC,oBAAe,GAAG,IAAI,CAAC;QACvB,gCAA2B,GAAG,KAAK,CAAC;QAYlC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAA,yCAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEK,SAAS;;YACb,OAAO,wBAAwB,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC;KAAA;IAEQ,wBAAwB;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB,CAAC,SAA+B;QACjD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,iBAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAS,EAAE;;YACzC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,yDAAI,CAAA,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC/C,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEQ,eAAe;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,OAAO;;YACX,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC;KAAA;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAC7C,YAAY,EAAE,SAAS;gBACvB,MAAM,EAAE,SAAS;gBACjB,kBAAkB,EAAE;oBAClB,gEAAgE;oBAChE,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,UAAU,CAAC;wBACpB,MAAM,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;wBAC3C,OAAO,EAAE;4BACP,qBAAqB;4BACrB,qBAAqB;4BACrB,UAAU;4BACV,eAAe;4BACf,mBAAmB;yBACpB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,GAAG,EAAE;gBACP,uCAAuC,CAAC,GAAG,EAAE,QAAQ,EAAE;oBACrD,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY;oBAChC,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY;iBACjC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAEjC,IAAI,OAAO,EAAE;oBACX,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACF;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC,OAAO,CAAC;gBACpB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE;oBACP,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC/D;gBACD,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,cAAc,CAAC,aAAqB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,UAAU;;YACd,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO;aACR;YAED,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAI;gBACF,MAAM,UAAU,CAAC,UAAU,CAAC;oBAC1B,yGAAyG;oBACzG,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,mBAAmB;qBAC7B;oBACD,KAAK,EAAE,kBAAkB;iBAC1B,CAAC,CAAC;gBACH,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACrD;YAAC,OAAO,CAAC,EAAE;gBACV,iBAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC;KAAA;IAEc,qBAAqB;;YAClC,OAAO;QACT,CAAC;KAAA;IAEc,oBAAoB;;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,kBAAkB,EAAE;gBACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9D;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;CACF;AAED,kBAAe,eAAe,CAAC"}
@@ -1,10 +0,0 @@
1
- import SignClient from '@walletconnect/sign-client';
2
- import { SignClientTypes } from '@walletconnect/types';
3
- import { WalletConnectWalletMetadata } from '../../../types';
4
- import { FetchPublicAddressOpts, WalletEventListeners } from '../../wallet-connector';
5
- export declare const getInitializedSignClient: (signClientOpts: SignClientTypes.Options) => Promise<SignClient>;
6
- export declare const fetchWalletConnectPublicAddress: (metadata: WalletConnectWalletMetadata, client: SignClient, opts?: FetchPublicAddressOpts) => Promise<import("@walletconnect/types").SessionTypes.Struct | undefined>;
7
- export declare const signWalletConnectPersonalMessage: (messageToSign: string, metadata: WalletConnectWalletMetadata, client: SignClient, sessionTopic: string) => Promise<string | undefined>;
8
- export declare const setupWalletConnectEventListeners: (listeners: WalletEventListeners) => void;
9
- export declare const teardownWalletConnectEventListeners: () => void;
10
- export declare const disconnectWalletConnectSession: (sessionTopic: string) => Promise<void>;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.disconnectWalletConnectSession = exports.teardownWalletConnectEventListeners = exports.setupWalletConnectEventListeners = exports.signWalletConnectPersonalMessage = exports.fetchWalletConnectPublicAddress = exports.getInitializedSignClient = void 0;
4
- const tslib_1 = require("tslib");
5
- const sign_client_1 = tslib_1.__importDefault(require("@walletconnect/sign-client"));
6
- const console_1 = tslib_1.__importDefault(require("../../../utils/console"));
7
- const isMobile_1 = require("../../../utils/isMobile");
8
- const walletConnect_1 = require("./walletConnect");
9
- let signClient;
10
- const getInitializedSignClient = (signClientOpts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
- if (!signClient) {
12
- signClient = yield sign_client_1.default.init(signClientOpts);
13
- }
14
- return signClient;
15
- });
16
- exports.getInitializedSignClient = getInitializedSignClient;
17
- const fetchWalletConnectPublicAddress = (metadata, client, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
- var _a, _b, _c, _d;
19
- const { uri, approval } = yield client.connect({
20
- pairingTopic: undefined,
21
- relays: undefined,
22
- requiredNamespaces: {
23
- // todo: generalize this input based on Dynamic project settings
24
- eip155: {
25
- chains: ['eip155:1'],
26
- events: ['chainChanged', 'accountsChanged'],
27
- methods: [
28
- 'eth_sendTransaction',
29
- 'eth_signTransaction',
30
- 'eth_sign',
31
- 'personal_sign',
32
- 'eth_signTypedData',
33
- ],
34
- },
35
- },
36
- });
37
- if (uri) {
38
- if ((0, isMobile_1.isMobile)()) {
39
- const deepLink = (0, walletConnect_1.getDeepLink)(uri, metadata);
40
- window.location.href = deepLink;
41
- }
42
- else {
43
- if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
44
- const desktopUri = (0, walletConnect_1.getDeepLink)(uri, metadata);
45
- (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, desktopUri);
46
- }
47
- (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, uri);
48
- }
49
- const session = yield approval();
50
- // TODO: update callback param
51
- (_d = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _d === void 0 ? void 0 : _d.call(opts, session);
52
- // TODO: handle multiple accounts
53
- return session;
54
- }
55
- return undefined;
56
- });
57
- exports.fetchWalletConnectPublicAddress = fetchWalletConnectPublicAddress;
58
- const signWalletConnectPersonalMessage = (messageToSign, metadata, client, sessionTopic) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
59
- const session = client.session.get(sessionTopic);
60
- return client.request({
61
- chainId: 'eip155:1',
62
- request: {
63
- method: 'personal_sign',
64
- params: [messageToSign, session.namespaces.eip155.accounts[0]],
65
- },
66
- topic: session.topic,
67
- });
68
- });
69
- exports.signWalletConnectPersonalMessage = signWalletConnectPersonalMessage;
70
- const setupWalletConnectEventListeners = (listeners) => {
71
- if (!signClient) {
72
- return;
73
- }
74
- signClient.on('session_event', (args) => {
75
- console_1.default.log('session_event', args);
76
- });
77
- if (listeners.onDisconnect) {
78
- signClient.on('session_delete', listeners.onDisconnect);
79
- }
80
- };
81
- exports.setupWalletConnectEventListeners = setupWalletConnectEventListeners;
82
- const teardownWalletConnectEventListeners = () => {
83
- if (!signClient) {
84
- return;
85
- }
86
- signClient.removeAllListeners('session_event');
87
- signClient.removeAllListeners('session_delete');
88
- };
89
- exports.teardownWalletConnectEventListeners = teardownWalletConnectEventListeners;
90
- const disconnectWalletConnectSession = (sessionTopic) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
91
- if (!signClient) {
92
- return;
93
- }
94
- yield signClient.disconnect({
95
- // https://github.com/WalletConnect/walletconnect-monorepo/blob/v2.0/packages/utils/src/errors.ts#L87-L90
96
- reason: {
97
- code: 6000,
98
- message: 'User disconnected',
99
- },
100
- topic: sessionTopic,
101
- });
102
- });
103
- exports.disconnectWalletConnectSession = disconnectWalletConnectSession;
104
- //# sourceMappingURL=walletConnectV2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletConnectV2.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnectV2.ts"],"names":[],"mappings":"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"}