@dynamic-labs/multi-wallet 0.16.0-RC.12 → 0.16.0-RC.14

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.
Files changed (47) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/package.json +7 -7
  3. package/src/index.d.ts +1 -1
  4. package/src/index.js +1 -1
  5. package/src/index.js.map +1 -1
  6. package/src/utils/convertors.js +1 -1
  7. package/src/utils/convertors.js.map +1 -1
  8. package/src/wallets/clients/walletConnect/walletConnect.d.ts +7 -3
  9. package/src/wallets/clients/walletConnect/walletConnect.js +59 -33
  10. package/src/wallets/clients/walletConnect/walletConnect.js.map +1 -1
  11. package/src/wallets/constants.d.ts +2 -2
  12. package/src/wallets/constants.js +3 -3
  13. package/src/wallets/constants.js.map +1 -1
  14. package/src/wallets/cosmos/keplrWalletConnect.d.ts +47 -2
  15. package/src/wallets/cosmos/keplrWalletConnect.js +202 -3
  16. package/src/wallets/cosmos/keplrWalletConnect.js.map +1 -1
  17. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +2 -2
  18. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js.map +1 -1
  19. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  20. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js.map +1 -1
  21. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +24 -0
  22. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +94 -0
  23. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js.map +1 -0
  24. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +2 -0
  25. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js +6 -0
  26. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js.map +1 -0
  27. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +7 -13
  28. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +26 -45
  29. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js.map +1 -1
  30. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +1 -1
  31. package/src/wallets/ethereum/MagicConnector/index.d.ts +1 -0
  32. package/src/wallets/ethereum/MagicConnector/index.js +1 -0
  33. package/src/wallets/ethereum/MagicConnector/index.js.map +1 -1
  34. package/src/wallets/starknet/argentx.js +1 -1
  35. package/src/wallets/starknet/argentx.js.map +1 -1
  36. package/src/wallets/starknet/braavos.js +1 -1
  37. package/src/wallets/starknet/braavos.js.map +1 -1
  38. package/src/wallets/starknet/starknetProvider.d.ts +22 -10
  39. package/src/wallets/starknet/starknetProvider.js +121 -23
  40. package/src/wallets/starknet/starknetProvider.js.map +1 -1
  41. package/src/wallets/walletConnect/walletConnect.d.ts +1 -0
  42. package/src/wallets/walletConnect/walletConnect.js +2 -2
  43. package/src/wallets/walletConnect/walletConnect.js.map +1 -1
  44. package/src/wallets/window.d.ts +1 -0
  45. package/src/wallets/starknet/starknetProviderHelper.d.ts +0 -17
  46. package/src/wallets/starknet/starknetProviderHelper.js +0 -159
  47. package/src/wallets/starknet/starknetProviderHelper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,KAAK;gBACL,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW;gBACtC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;;KACJ;CACF;AAnDD,8DAmDC"}
1
+ {"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,KAAK;gBACL,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW;gBACrC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;;KACJ;CACF;AAnDD,8DAmDC"}
@@ -32,7 +32,7 @@ class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector_1.EmailMagi
32
32
  loginWithMagic() {
33
33
  var _a;
34
34
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- const client = this._getClient();
35
+ const client = this.getClient();
36
36
  const user = yield this.getUserMetadata();
37
37
  if (user && user.publicAddress) {
38
38
  this.setEmail((user === null || user === void 0 ? void 0 : user.email) || '');
@@ -1 +1 @@
1
- {"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC3C,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,OAAO,CAAC;;KACrB;CACF;AAhED,oEAgEC"}
1
+ {"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC3C,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,OAAO,CAAC;;KACrB;CACF;AAhED,oEAgEC"}
@@ -0,0 +1,24 @@
1
+ import { Magic, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
2
+ import { MagicConnectorProps } from '../MagicWalletConnector';
3
+ import { EvmNetwork } from '../../evm-network';
4
+ export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
5
+ redirectURI?: string;
6
+ };
7
+ export type MagicClientNetworkHandlerProps = Pick<MagicConnectorProps, 'apiKey' | 'config' | 'evmNetworks'>;
8
+ export declare abstract class MagicClientNetworkHandler {
9
+ private _apiKey;
10
+ private _clients;
11
+ private _networkId;
12
+ private _config;
13
+ evmNetworks: EvmNetwork[];
14
+ constructor({ apiKey, evmNetworks, config }: MagicClientNetworkHandlerProps);
15
+ abstract onChainChanged?(networkChainId: number): void;
16
+ selectNetwork(networkChainId: number): Promise<void>;
17
+ get networkId(): number;
18
+ get config(): MagicLinkConfig | undefined;
19
+ getClient(): Magic<MagicSDKExtensionsOption<string>>;
20
+ getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
21
+ private get configNetworkId();
22
+ private _getRpcUrlByNetworkId;
23
+ private _getChainIdByNetworkId;
24
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MagicClientNetworkHandler = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const magic_sdk_1 = require("magic-sdk");
6
+ // these are based off of Magic's EthNetworkName type
7
+ const chainNameToChainIdMap = {
8
+ arbitrum: 42161,
9
+ avalance: 43114,
10
+ bsc: 56,
11
+ gnosis: 100,
12
+ goerli: 5,
13
+ mainnet: 1,
14
+ optimism: 10,
15
+ polygon: 137,
16
+ sepolia: 11155111,
17
+ };
18
+ class MagicClientNetworkHandler {
19
+ constructor({ apiKey, evmNetworks, config }) {
20
+ var _a, _b;
21
+ this._clients = {};
22
+ this.evmNetworks = [];
23
+ this._config = config;
24
+ this._apiKey = apiKey;
25
+ this.evmNetworks = evmNetworks;
26
+ this._networkId =
27
+ typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
28
+ ? chainNameToChainIdMap[config.network]
29
+ : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
30
+ }
31
+ selectNetwork(networkChainId) {
32
+ var _a;
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
+ this._networkId = networkChainId;
35
+ (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
36
+ });
37
+ }
38
+ get networkId() {
39
+ return this._networkId;
40
+ }
41
+ get config() {
42
+ return this._config;
43
+ }
44
+ getClient() {
45
+ const networkId = this._networkId;
46
+ const client = this._clients[networkId];
47
+ if (client) {
48
+ return client;
49
+ }
50
+ const config = this.getConfigForNetwork(networkId);
51
+ const newClient = new magic_sdk_1.Magic(this._apiKey, config);
52
+ this._clients[networkId] = newClient;
53
+ return newClient;
54
+ }
55
+ getConfigForNetwork(networkId) {
56
+ const rpcUrl = this._getRpcUrlByNetworkId(networkId);
57
+ // Should prioritize custom rpc config form dashboard
58
+ if (rpcUrl) {
59
+ return Object.assign(Object.assign({}, this._config), { network: {
60
+ chainId: this._getChainIdByNetworkId(networkId),
61
+ rpcUrl,
62
+ } });
63
+ }
64
+ // Next should return configuration provided through settings
65
+ if (this.configNetworkId === networkId) {
66
+ return this._config;
67
+ }
68
+ if (networkId === 1) {
69
+ return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
70
+ }
71
+ if (networkId === 5) {
72
+ return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
73
+ }
74
+ return this._config;
75
+ }
76
+ get configNetworkId() {
77
+ var _a, _b, _c;
78
+ if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
79
+ return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
80
+ }
81
+ return undefined;
82
+ }
83
+ _getRpcUrlByNetworkId(networkId) {
84
+ var _a;
85
+ const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
86
+ return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
87
+ }
88
+ _getChainIdByNetworkId(networkId) {
89
+ var _a;
90
+ return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
91
+ }
92
+ }
93
+ exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
94
+ //# sourceMappingURL=MagicClientNetworkHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicClientNetworkHandler.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { MagicClientNetworkHandler } from './MagicClientNetworkHandler';
2
+ export type { MagicLinkConfig } from './MagicClientNetworkHandler';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MagicClientNetworkHandler = void 0;
4
+ var MagicClientNetworkHandler_1 = require("./MagicClientNetworkHandler");
5
+ Object.defineProperty(exports, "MagicClientNetworkHandler", { enumerable: true, get: function () { return MagicClientNetworkHandler_1.MagicClientNetworkHandler; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA"}
@@ -1,12 +1,10 @@
1
- import { LoginWithMagicLinkEvents, Magic as MagicClient, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption, MagicUserMetadata, PromiEvent } from 'magic-sdk';
1
+ import { LoginWithMagicLinkEvents, MagicUserMetadata, PromiEvent } from 'magic-sdk';
2
2
  import { ethers } from 'ethers';
3
3
  import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
4
  import { WalletUiUtils } from '../../../../types';
5
5
  import { CancellablePromise } from '../../../../utils/CancellablePromise';
6
+ import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
6
7
  import { EvmNetwork } from './../../evm-network';
7
- export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
8
- redirectURI?: string;
9
- };
10
8
  export type MagicConnectorProps = {
11
9
  apiKey: string;
12
10
  config?: MagicLinkConfig;
@@ -18,7 +16,7 @@ export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents
18
16
  error: (reason: any) => void;
19
17
  settled: () => void;
20
18
  }>;
21
- export declare abstract class MagicWalletConnector implements WalletConnector {
19
+ export declare abstract class MagicWalletConnector extends MagicClientNetworkHandler implements WalletConnector {
22
20
  key: string;
23
21
  canConnectViaCustodialService: boolean;
24
22
  canConnectViaQrCode: boolean;
@@ -27,16 +25,10 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
27
25
  isWalletConnect: boolean;
28
26
  name: string;
29
27
  switchNetworkOnlyFromWallet?: boolean;
30
- evmNetworks: EvmNetwork[];
31
28
  providerResources?: string[];
32
- _apiKey: string;
33
- _magicSdk: MagicClient | undefined;
34
29
  _walletUiUtils: WalletUiUtils;
35
- _provider: ethers.providers.Web3Provider | undefined;
36
- _config: MagicLinkConfig | undefined;
37
30
  _listeners: WalletEventListeners | undefined;
38
31
  _currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
39
- _networkId: number;
40
32
  constructor({ apiKey, walletUiUtils, evmNetworks, config, }: MagicConnectorProps);
41
33
  abstract loginWithMagic(): Promise<MagicPromiEvent | undefined>;
42
34
  getDeepLink(): string | undefined;
@@ -53,11 +45,13 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
53
45
  isInstalledOnBrowser(): boolean;
54
46
  proveOwnership(messageToSign: string): Promise<string | undefined>;
55
47
  setupEventListeners(listeners: WalletEventListeners): void;
48
+ onChainChanged(networkChainId: number): void;
56
49
  signMessage(messageToSign: string): Promise<string | undefined>;
57
50
  supportsNetworkSwitching(): boolean;
58
- switchNetwork(): Promise<void>;
51
+ switchNetwork({ networkChainId, }: {
52
+ networkChainId?: number;
53
+ }): Promise<void>;
59
54
  teardownEventListeners(): void;
60
- _getClient(): MagicClient<MagicSDKExtensionsOption<string>>;
61
55
  _isLoggedIn(): Promise<boolean>;
62
56
  _checkIfLoggedIn(): Promise<boolean>;
63
57
  }
@@ -2,29 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MagicWalletConnector = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const magic_sdk_1 = require("magic-sdk");
6
5
  const ethers_1 = require("ethers");
7
6
  const errors_1 = require("../../../../errors");
8
7
  const logger_1 = require("../../../../utils/logger");
9
8
  const assignConfirmationScreenToProvider_1 = require("../../../../utils/assignConfirmationScreenToProvider");
10
9
  const CancellablePromise_1 = require("../../../../utils/CancellablePromise");
11
- // these are based off of Magic's EthNetworkName type,
12
- // which at the time of writing, is a union over mainnet and goerli
13
- const chainNameToChainIdMap = {
14
- arbitrum: 42161,
15
- avalance: 43114,
16
- bsc: 56,
17
- gnosis: 100,
18
- goerli: 5,
19
- mainnet: 1,
20
- optimism: 10,
21
- polygon: 137,
22
- sepolia: 11155111,
23
- };
10
+ const MagicClientNetworkHandler_1 = require("../MagicClientNetworkHandler");
24
11
  const storedAddressKey = 'dynamic_magic_address';
25
- class MagicWalletConnector {
12
+ class MagicWalletConnector extends MagicClientNetworkHandler_1.MagicClientNetworkHandler {
26
13
  constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
27
- var _a, _b;
14
+ super({
15
+ apiKey,
16
+ config,
17
+ evmNetworks,
18
+ });
28
19
  this.key = 'magiclink';
29
20
  this.canConnectViaCustodialService = true;
30
21
  this.canConnectViaQrCode = false;
@@ -32,17 +23,8 @@ class MagicWalletConnector {
32
23
  this.supportedChains = ['ETH', 'EVM'];
33
24
  this.isWalletConnect = false;
34
25
  this.name = 'Magic Link';
35
- this.evmNetworks = [];
36
26
  this.providerResources = undefined;
37
- this._magicSdk = undefined;
38
- this._config = config;
39
- this._apiKey = apiKey;
40
27
  this._walletUiUtils = walletUiUtils;
41
- this.evmNetworks = evmNetworks;
42
- this._networkId =
43
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
44
- ? chainNameToChainIdMap[config.network]
45
- : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
46
28
  }
47
29
  getDeepLink() {
48
30
  return undefined;
@@ -55,14 +37,14 @@ class MagicWalletConnector {
55
37
  endSession() {
56
38
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
39
  localStorage.removeItem(storedAddressKey);
58
- const client = this._getClient();
40
+ const client = this.getClient();
59
41
  yield client.user.logout();
60
42
  });
61
43
  }
62
44
  getUserMetadata() {
63
45
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
46
  if (yield this._isLoggedIn()) {
65
- const client = this._getClient();
47
+ const client = this.getClient();
66
48
  return client.user.getMetadata();
67
49
  }
68
50
  return undefined;
@@ -73,7 +55,7 @@ class MagicWalletConnector {
73
55
  const address = localStorage.getItem(storedAddressKey);
74
56
  if (address)
75
57
  return address;
76
- const client = this._getClient();
58
+ const client = this.getClient();
77
59
  try {
78
60
  try {
79
61
  this._currentAuthCancellablePromise = CancellablePromise_1.CancellablePromise.fromPromise(this.loginWithMagic());
@@ -118,7 +100,7 @@ class MagicWalletConnector {
118
100
  }
119
101
  getNetwork() {
120
102
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
- return this._networkId;
103
+ return this.networkId;
122
104
  });
123
105
  }
124
106
  getRpcProvider() {
@@ -134,14 +116,10 @@ class MagicWalletConnector {
134
116
  }
135
117
  getWeb3Provider() {
136
118
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
137
- if (this._provider) {
138
- return this._provider;
139
- }
140
- const client = this._getClient();
119
+ const client = this.getClient();
141
120
  const provider = new ethers_1.ethers.providers.Web3Provider(client.rpcProvider);
142
121
  (0, assignConfirmationScreenToProvider_1.assignConfirmationScreenToProvider)(provider, this._walletUiUtils);
143
- this._provider = provider;
144
- return this._provider;
122
+ return provider;
145
123
  });
146
124
  }
147
125
  isInstalledOnBrowser() {
@@ -154,6 +132,10 @@ class MagicWalletConnector {
154
132
  this._listeners = listeners;
155
133
  this._checkIfLoggedIn();
156
134
  }
135
+ onChainChanged(networkChainId) {
136
+ var _a, _b;
137
+ (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
138
+ }
157
139
  signMessage(messageToSign) {
158
140
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
159
141
  const provider = yield this.getWeb3Provider();
@@ -161,23 +143,22 @@ class MagicWalletConnector {
161
143
  });
162
144
  }
163
145
  supportsNetworkSwitching() {
164
- return false;
146
+ return true;
165
147
  }
166
- switchNetwork() {
167
- throw new Error('Method not implemented.');
148
+ switchNetwork({ networkChainId, }) {
149
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
150
+ if (!networkChainId) {
151
+ return;
152
+ }
153
+ this.selectNetwork(networkChainId);
154
+ });
168
155
  }
169
156
  teardownEventListeners() {
170
157
  this._listeners = undefined;
171
158
  }
172
- _getClient() {
173
- if (!this._magicSdk) {
174
- this._magicSdk = new magic_sdk_1.Magic(this._apiKey, this._config);
175
- }
176
- return this._magicSdk;
177
- }
178
159
  _isLoggedIn() {
179
160
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
180
- const client = this._getClient();
161
+ const client = this.getClient();
181
162
  return client.user.isLoggedIn();
182
163
  });
183
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export { MagicWalletConnector } from './MagicWalletConnector';
2
- export type { MagicConnectorProps, MagicLinkConfig, MagicPromiEvent, } from './MagicWalletConnector';
2
+ export type { MagicConnectorProps, MagicPromiEvent, } from './MagicWalletConnector';
@@ -1,3 +1,4 @@
1
1
  export * from './EmailMagicWalletConnector';
2
2
  export * from './MagicWalletConnector';
3
3
  export * from './EmailOTPMagicWalletConnector';
4
+ export * from './MagicClientNetworkHandler';
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./EmailMagicWalletConnector"), exports);
5
5
  tslib_1.__exportStar(require("./MagicWalletConnector"), exports);
6
6
  tslib_1.__exportStar(require("./EmailOTPMagicWalletConnector"), exports);
7
+ tslib_1.__exportStar(require("./MagicClientNetworkHandler"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C;AAC/C,sEAA4C"}
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
4
4
  const starknetProvider_1 = tslib_1.__importDefault(require("./starknetProvider"));
5
5
  class ArgentX extends starknetProvider_1.default {
6
6
  constructor() {
7
- super('Argent X');
7
+ super('Argent X', 'argentX');
8
8
  }
9
9
  }
10
10
  exports.default = ArgentX;
@@ -1 +1 @@
1
- {"version":3,"file":"argentx.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/argentx.ts"],"names":[],"mappings":";;;AAEA,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"argentx.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/argentx.ts"],"names":[],"mappings":";;;AAEA,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -5,7 +5,7 @@ const isMobile_1 = require("../../utils/isMobile");
5
5
  const starknetProvider_1 = tslib_1.__importDefault(require("./starknetProvider"));
6
6
  class Braavos extends starknetProvider_1.default {
7
7
  constructor() {
8
- super('Braavos');
8
+ super('Braavos', 'braavos');
9
9
  }
10
10
  fetchPublicAddress() {
11
11
  const _super = Object.create(null, {
@@ -1 +1 @@
1
- {"version":3,"file":"braavos.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/braavos.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAEhD,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAEc,kBAAkB;;;;;YAC/B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,OAAM,kBAAkB,YAAG;aACnC;YAED;;;eAGG;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,mBAAmB,GAAG,EAAE,CAAC;YAE3C,IAAI,IAAA,mBAAQ,GAAE,EAAE;gBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"braavos.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/braavos.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAEhD,kFAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAEc,kBAAkB;;;;;YAC/B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,OAAM,kBAAkB,YAAG;aACnC;YAED;;;eAGG;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,mBAAmB,GAAG,EAAE,CAAC;YAE3C,IAAI,IAAA,mBAAQ,GAAE,EAAE;gBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -1,32 +1,44 @@
1
- import { SignerInterface } from 'starknet';
1
+ import { IStarknetWindowObject } from 'get-starknet';
2
+ import { AccountInterface, ProviderInterface } from 'starknet';
2
3
  import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { StarknetProviderHelper } from './starknetProviderHelper';
4
- declare class StarknetProvider extends StarknetProviderHelper implements WalletConnector {
4
+ type AccountChangeEventHandler = (address: {
5
+ toString(): string;
6
+ }) => Promise<void>;
7
+ type NetworkChangeEventHandler = (network: {
8
+ toString(): string;
9
+ }) => Promise<void>;
10
+ type WalletKeys = 'braavos' | 'argentX';
11
+ declare abstract class StarknetProvider implements WalletConnector {
5
12
  name: string;
13
+ windowKey: WalletKeys;
6
14
  connectedChain: Chain;
7
15
  supportedChains: Chain[];
8
16
  canConnectViaQrCode: boolean;
9
17
  canConnectViaCustodialService: boolean;
10
18
  isWalletConnect: boolean;
11
- protected starknetProviderHelper: StarknetProviderHelper;
12
- constructor(name: string);
13
- getDeepLink(): string | undefined;
19
+ wallet: IStarknetWindowObject | undefined;
20
+ handleAccountChange: AccountChangeEventHandler | undefined;
21
+ handleNetworkChange: NetworkChangeEventHandler | undefined;
22
+ constructor(name: string, windowKey: WalletKeys);
14
23
  get key(): string;
15
24
  connect(): Promise<void>;
16
25
  fetchPublicAddress(): Promise<string | undefined>;
17
26
  getNetwork(): Promise<number | undefined>;
18
- getSigner(): Promise<SignerInterface | undefined>;
19
- getWeb3Provider(): void;
27
+ getSigner(): Promise<AccountInterface | undefined>;
28
+ getWallet(): Promise<IStarknetWindowObject | undefined>;
29
+ getWeb3Provider(): Promise<ProviderInterface | undefined>;
20
30
  getRpcProvider(): Promise<void>;
21
31
  signMessage(messageToSign: string): Promise<string | undefined>;
22
32
  proveOwnership(messageToSign: string): Promise<string | undefined>;
23
33
  getBalance(): Promise<string | undefined>;
24
34
  endSession(): Promise<void>;
35
+ getStarknetWindowObject(): IStarknetWindowObject | undefined;
25
36
  isInstalledOnBrowser(): boolean;
26
37
  supportsNetworkSwitching(): boolean;
27
38
  switchNetwork(): Promise<void>;
28
- setupEventListeners(listeners: WalletEventListeners): void;
29
- teardownEventListeners(): void;
30
39
  getConnectedAccounts(): Promise<string[]>;
40
+ setupEventListeners(listeners: WalletEventListeners): void;
41
+ teardownEventListeners(): Promise<void>;
42
+ getDeepLink(): string | undefined;
31
43
  }
32
44
  export default StarknetProvider;