@dynamic-labs/multi-wallet 0.5.19

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 (91) hide show
  1. package/LICENSE +201 -0
  2. package/package.json +25 -0
  3. package/src/data/wallet-connect-wallets.json +6265 -0
  4. package/src/data/wallet-links.json +2134 -0
  5. package/src/index.d.ts +15 -0
  6. package/src/index.js +48 -0
  7. package/src/index.js.map +1 -0
  8. package/src/multi-wallet.d.ts +10 -0
  9. package/src/multi-wallet.js +126 -0
  10. package/src/multi-wallet.js.map +1 -0
  11. package/src/polyfills.d.ts +1 -0
  12. package/src/polyfills.js +16 -0
  13. package/src/polyfills.js.map +1 -0
  14. package/src/services/name-service-lookup.d.ts +6 -0
  15. package/src/services/name-service-lookup.js +25 -0
  16. package/src/services/name-service-lookup.js.map +1 -0
  17. package/src/types.d.ts +44 -0
  18. package/src/types.js +3 -0
  19. package/src/types.js.map +1 -0
  20. package/src/utils/console.d.ts +4 -0
  21. package/src/utils/console.js +18 -0
  22. package/src/utils/console.js.map +1 -0
  23. package/src/utils/convertors.d.ts +1 -0
  24. package/src/utils/convertors.js +11 -0
  25. package/src/utils/convertors.js.map +1 -0
  26. package/src/utils/isMobile.d.ts +4 -0
  27. package/src/utils/isMobile.js +13 -0
  28. package/src/utils/isMobile.js.map +1 -0
  29. package/src/utils/message.d.ts +10 -0
  30. package/src/utils/message.js +44 -0
  31. package/src/utils/message.js.map +1 -0
  32. package/src/utils/normalizeWalletName.d.ts +1 -0
  33. package/src/utils/normalizeWalletName.js +6 -0
  34. package/src/utils/normalizeWalletName.js.map +1 -0
  35. package/src/utils/platform.d.ts +3 -0
  36. package/src/utils/platform.js +11 -0
  37. package/src/utils/platform.js.map +1 -0
  38. package/src/utils/walletConnect.d.ts +5 -0
  39. package/src/utils/walletConnect.js +21 -0
  40. package/src/utils/walletConnect.js.map +1 -0
  41. package/src/utils/walletLinks.d.ts +15 -0
  42. package/src/utils/walletLinks.js +13 -0
  43. package/src/utils/walletLinks.js.map +1 -0
  44. package/src/wallets/clients/coinbase/coinbase.d.ts +6 -0
  45. package/src/wallets/clients/coinbase/coinbase.js +73 -0
  46. package/src/wallets/clients/coinbase/coinbase.js.map +1 -0
  47. package/src/wallets/clients/coinbase/index.d.ts +2 -0
  48. package/src/wallets/clients/coinbase/index.js +19 -0
  49. package/src/wallets/clients/coinbase/index.js.map +1 -0
  50. package/src/wallets/clients/coinbase/types.d.ts +12 -0
  51. package/src/wallets/clients/coinbase/types.js +3 -0
  52. package/src/wallets/clients/coinbase/types.js.map +1 -0
  53. package/src/wallets/ethereum/coinbase.d.ts +19 -0
  54. package/src/wallets/ethereum/coinbase.js +56 -0
  55. package/src/wallets/ethereum/coinbase.js.map +1 -0
  56. package/src/wallets/ethereum/eth-provider.d.ts +27 -0
  57. package/src/wallets/ethereum/eth-provider.js +131 -0
  58. package/src/wallets/ethereum/eth-provider.js.map +1 -0
  59. package/src/wallets/ethereum/meta-mask.d.ts +17 -0
  60. package/src/wallets/ethereum/meta-mask.js +78 -0
  61. package/src/wallets/ethereum/meta-mask.js.map +1 -0
  62. package/src/wallets/ethereum/tallyho.d.ts +13 -0
  63. package/src/wallets/ethereum/tallyho.js +40 -0
  64. package/src/wallets/ethereum/tallyho.js.map +1 -0
  65. package/src/wallets/solana/glow.d.ts +11 -0
  66. package/src/wallets/solana/glow.js +35 -0
  67. package/src/wallets/solana/glow.js.map +1 -0
  68. package/src/wallets/solana/phantom.d.ts +11 -0
  69. package/src/wallets/solana/phantom.js +42 -0
  70. package/src/wallets/solana/phantom.js.map +1 -0
  71. package/src/wallets/solana/slope.d.ts +22 -0
  72. package/src/wallets/solana/slope.js +58 -0
  73. package/src/wallets/solana/slope.js.map +1 -0
  74. package/src/wallets/solana/sol-providers.d.ts +27 -0
  75. package/src/wallets/solana/sol-providers.js +100 -0
  76. package/src/wallets/solana/sol-providers.js.map +1 -0
  77. package/src/wallets/solana/solflare.d.ts +11 -0
  78. package/src/wallets/solana/solflare.js +57 -0
  79. package/src/wallets/solana/solflare.js.map +1 -0
  80. package/src/wallets/wallet-connect-client.d.ts +50 -0
  81. package/src/wallets/wallet-connect-client.js +155 -0
  82. package/src/wallets/wallet-connect-client.js.map +1 -0
  83. package/src/wallets/wallet-connect.d.ts +17 -0
  84. package/src/wallets/wallet-connect.js +82 -0
  85. package/src/wallets/wallet-connect.js.map +1 -0
  86. package/src/wallets/wallet-connector.d.ts +23 -0
  87. package/src/wallets/wallet-connector.js +3 -0
  88. package/src/wallets/wallet-connector.js.map +1 -0
  89. package/src/wallets/window.d.ts +46 -0
  90. package/src/wallets/window.js +3 -0
  91. package/src/wallets/window.js.map +1 -0
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.signMessage = exports.fetchPublicAddress = exports.killCoinbaseSession = exports.getCoinbaseProvider = void 0;
16
+ const wallet_sdk_1 = __importDefault(require("@coinbase/wallet-sdk"));
17
+ const utils_1 = require("ethers/lib/utils");
18
+ const infuraApiKey = '87939db78f824920ada5c872db3e56b8';
19
+ const jsonRpcUrl = `https://mainnet.infura.io/v3/${infuraApiKey}`;
20
+ const chainId = 1;
21
+ const getCoinbaseProvider = ({ opts: { appLogoUrl, appName = '' } = {}, handlers, }) => {
22
+ const coinbaseWalletSDK = new wallet_sdk_1.default({
23
+ appLogoUrl,
24
+ appName,
25
+ eventListener: {
26
+ onEvent: (eventType) => {
27
+ if (eventType === 'walletlink_sdk.disconnected') {
28
+ handlers === null || handlers === void 0 ? void 0 : handlers.onDisconnect();
29
+ }
30
+ },
31
+ },
32
+ headlessMode: true,
33
+ });
34
+ return coinbaseWalletSDK.makeWeb3Provider(jsonRpcUrl, chainId);
35
+ };
36
+ exports.getCoinbaseProvider = getCoinbaseProvider;
37
+ const killCoinbaseSession = () => {
38
+ const provider = (0, exports.getCoinbaseProvider)({
39
+ opts: { appLogoUrl: '', appName: '' },
40
+ });
41
+ if (provider.connected) {
42
+ provider.close();
43
+ }
44
+ };
45
+ exports.killCoinbaseSession = killCoinbaseSession;
46
+ const fetchPublicAddress = (coinbaseProviderOpts, opts) => __awaiter(void 0, void 0, void 0, function* () {
47
+ var _a;
48
+ const provider = (0, exports.getCoinbaseProvider)({ opts: coinbaseProviderOpts });
49
+ const { qrUrl } = provider;
50
+ if (!qrUrl) {
51
+ throw new Error('no qr url available');
52
+ }
53
+ (_a = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _a === void 0 ? void 0 : _a.call(opts, qrUrl);
54
+ const [address] = yield provider.request({ method: 'eth_requestAccounts' });
55
+ return address;
56
+ });
57
+ exports.fetchPublicAddress = fetchPublicAddress;
58
+ const signMessage = (coinbaseProviderOpts, messageToSign) => __awaiter(void 0, void 0, void 0, function* () {
59
+ const provider = (0, exports.getCoinbaseProvider)({ opts: coinbaseProviderOpts });
60
+ const [address] = yield provider.request({ method: 'eth_requestAccounts' });
61
+ try {
62
+ return yield provider.request({
63
+ method: 'personal_sign',
64
+ params: [(0, utils_1.hexlify)((0, utils_1.toUtf8Bytes)(messageToSign)), address.toLowerCase()],
65
+ });
66
+ }
67
+ catch (err) {
68
+ yield provider.close();
69
+ return undefined;
70
+ }
71
+ });
72
+ exports.signMessage = signMessage;
73
+ //# sourceMappingURL=coinbase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/coinbase/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAqD;AACrD,4CAAwD;AAMxD,MAAM,YAAY,GAAG,kCAAkC,CAAC;AACxD,MAAM,UAAU,GAAG,gCAAgC,YAAY,EAAE,CAAC;AAClE,MAAM,OAAO,GAAG,CAAC,CAAC;AAEX,MAAM,mBAAmB,GAAwB,CAAC,EACvD,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,EACvC,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,IAAI,oBAAiB,CAAC;QAC9C,UAAU;QACV,OAAO;QACP,aAAa,EAAE;YACb,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;gBACrB,IAAI,SAAS,KAAK,6BAA6B,EAAE;oBAC/C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE,CAAC;iBAC1B;YACH,CAAC;SACF;QACD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC;QACnC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACtC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,SAAS,EAAE;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AAEK,MAAM,kBAAkB,GAAG,CAChC,oBAA6C,EAC7C,IAA6B,EACA,EAAE;;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,KAAK,CAAC,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,WAAW,GAAG,CACzB,oBAA6C,EAC7C,aAAqB,EACQ,EAAE;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,IAAI;QACF,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,CAAC,IAAA,eAAO,EAAC,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACrE,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAA,CAAC;AAjBW,QAAA,WAAW,eAiBtB"}
@@ -0,0 +1,2 @@
1
+ export * from './coinbase';
2
+ export * from './types';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./coinbase"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/coinbase/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB"}
@@ -0,0 +1,12 @@
1
+ import { CoinbaseWalletProvider } from '@coinbase/wallet-sdk';
2
+ export declare type GetCoinbaseProviderOpts = {
3
+ appLogoUrl?: string;
4
+ appName?: string;
5
+ };
6
+ export declare type CoinbaseProviderHandlerOpts = {
7
+ onDisconnect(): Promise<void>;
8
+ };
9
+ export declare type GetCoinbaseProvider = (args: {
10
+ handlers?: CoinbaseProviderHandlerOpts;
11
+ opts?: GetCoinbaseProviderOpts;
12
+ }) => CoinbaseWalletProvider;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/coinbase/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { LookupData } from '../../services/name-service-lookup';
2
+ import { Chain, FetchPublicAddressOpts, WalletConnector } from '../wallet-connector';
3
+ import { EthProvider } from './eth-provider';
4
+ declare class Coinbase extends EthProvider implements WalletConnector {
5
+ name: string;
6
+ supportedChains: Chain[];
7
+ connectedChain: Chain;
8
+ private coinbaseProviderOpts;
9
+ constructor({ appName, appLogoUrl, }: {
10
+ appLogoUrl: string;
11
+ appName: string;
12
+ });
13
+ isInstalledOnBrowser(): boolean;
14
+ fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
15
+ signMessage(messageToSign: string): Promise<string | undefined>;
16
+ endSession(): Promise<void>;
17
+ nameServiceLookup(address: string): Promise<LookupData | undefined>;
18
+ }
19
+ export default Coinbase;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const coinbase_1 = require("../clients/coinbase");
13
+ const eth_provider_1 = require("./eth-provider");
14
+ class Coinbase extends eth_provider_1.EthProvider {
15
+ constructor({ appName, appLogoUrl, }) {
16
+ super();
17
+ this.name = 'coinbase';
18
+ this.supportedChains = ['ETH'];
19
+ this.connectedChain = 'ETH';
20
+ this.coinbaseProviderOpts = {
21
+ appLogoUrl: appLogoUrl,
22
+ appName: appName,
23
+ };
24
+ }
25
+ isInstalledOnBrowser() {
26
+ return this.isInstalledHelper(this.name);
27
+ }
28
+ fetchPublicAddress(opts) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (this.isInstalledOnBrowser()) {
31
+ return this.fetchPublicAddressWithName(this.name);
32
+ }
33
+ return (0, coinbase_1.fetchPublicAddress)(this.coinbaseProviderOpts, opts);
34
+ });
35
+ }
36
+ signMessage(messageToSign) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (this.isInstalledOnBrowser()) {
39
+ return this.signMessageWithName(messageToSign, this.name);
40
+ }
41
+ return (0, coinbase_1.signMessage)(this.coinbaseProviderOpts, messageToSign);
42
+ });
43
+ }
44
+ endSession() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ (0, coinbase_1.killCoinbaseSession)();
47
+ });
48
+ }
49
+ nameServiceLookup(address) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return this.ensLookup(address, this.name);
52
+ });
53
+ }
54
+ }
55
+ exports.default = Coinbase;
56
+ //# sourceMappingURL=coinbase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,kDAK6B;AAE7B,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAShC,YAAY,EACV,OAAO,EACP,UAAU,GAIX;QACC,KAAK,EAAE,CAAC;QAfV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAa5B,IAAI,CAAC,oBAAoB,GAAG;YAC1B,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YAED,OAAO,IAAA,6BAAkB,EAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3D;YAED,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,8BAAmB,GAAE,CAAC;QACxB,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAAe;;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ethers } from 'ethers';
2
+ import { IEthereum, ITallyWalletRouter } from '../window';
3
+ import { LookupData } from '../../services/name-service-lookup';
4
+ export declare enum ProviderFlag {
5
+ isCoinbaseWallet = "isCoinbaseWallet",
6
+ isMetaMask = "isMetaMask",
7
+ isTally = "isTally"
8
+ }
9
+ declare type Provider = () => ethers.providers.ExternalProvider | undefined;
10
+ export declare class EthProvider {
11
+ MetamaskProvider: Provider;
12
+ CoinbaseProvider: Provider;
13
+ TallyhoProvider: Provider;
14
+ providers: {
15
+ [wallet: string]: Provider;
16
+ };
17
+ installedProviderLookup(providerFlag: ProviderFlag): object | undefined;
18
+ allInstalledProviders(): object[];
19
+ findEthereumProviders(ethereum?: IEthereum): object[];
20
+ findEthereumProvidersForTallyWalletRouter(walletRouter?: ITallyWalletRouter): object[];
21
+ isInstalledHelper(walletName: string): boolean;
22
+ findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
23
+ fetchPublicAddressWithName(name: string): Promise<string | undefined>;
24
+ signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
25
+ ensLookup(address: string, name: string): Promise<LookupData | undefined>;
26
+ }
27
+ export {};
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EthProvider = exports.ProviderFlag = void 0;
16
+ const ethers_1 = require("ethers");
17
+ const console_1 = __importDefault(require("../../utils/console"));
18
+ const name_service_lookup_1 = require("../../services/name-service-lookup");
19
+ var ProviderFlag;
20
+ (function (ProviderFlag) {
21
+ ProviderFlag["isCoinbaseWallet"] = "isCoinbaseWallet";
22
+ ProviderFlag["isMetaMask"] = "isMetaMask";
23
+ ProviderFlag["isTally"] = "isTally";
24
+ })(ProviderFlag = exports.ProviderFlag || (exports.ProviderFlag = {}));
25
+ class EthProvider {
26
+ constructor() {
27
+ this.MetamaskProvider = () => this.installedProviderLookup(ProviderFlag.isMetaMask);
28
+ this.CoinbaseProvider = () => this.installedProviderLookup(ProviderFlag.isCoinbaseWallet);
29
+ this.TallyhoProvider = () => this.installedProviderLookup(ProviderFlag.isTally);
30
+ this.providers = {
31
+ coinbase: this.CoinbaseProvider,
32
+ metamask: this.MetamaskProvider,
33
+ tallyho: this.TallyhoProvider,
34
+ };
35
+ }
36
+ installedProviderLookup(providerFlag) {
37
+ return this.allInstalledProviders().find((provider) => provider === null || provider === void 0 ? void 0 : provider[providerFlag]);
38
+ }
39
+ allInstalledProviders() {
40
+ return this.findEthereumProviders(window.ethereum).concat(this.findEthereumProvidersForTallyWalletRouter(window.walletRouter), this.findEthereumProviders(window.tally));
41
+ }
42
+ findEthereumProviders(ethereum) {
43
+ const ethereumProviders = [];
44
+ if (ethereum && !ethereum.providers) {
45
+ ethereumProviders.push(ethereum);
46
+ }
47
+ else if (ethereum && ethereum.providers) {
48
+ ethereum.providers.forEach((provider) => {
49
+ ethereumProviders.push(provider);
50
+ });
51
+ }
52
+ return ethereumProviders;
53
+ }
54
+ // find all the providers from Tally's Wallet router and add them to the flattened list of all providers
55
+ // note this may return some redundant information, but that is fine for now
56
+ findEthereumProvidersForTallyWalletRouter(walletRouter) {
57
+ const ethereumProviders = [];
58
+ if (walletRouter) {
59
+ if (walletRouter.previousProvider) {
60
+ ethereumProviders.concat(this.findEthereumProviders(walletRouter.previousProvider));
61
+ }
62
+ if (walletRouter.provider) {
63
+ ethereumProviders.concat(this.findEthereumProviders(walletRouter.previousProvider));
64
+ }
65
+ if (walletRouter.providers) {
66
+ walletRouter.providers.forEach((provider) => {
67
+ ethereumProviders.push(provider);
68
+ // tally sometimes nests providers within providers
69
+ if (provider.providers) {
70
+ provider.providers.forEach((nestedProvider) => {
71
+ ethereumProviders.push(nestedProvider);
72
+ });
73
+ }
74
+ });
75
+ }
76
+ }
77
+ return ethereumProviders;
78
+ }
79
+ isInstalledHelper(walletName) {
80
+ return this.findProvider(walletName) !== undefined;
81
+ }
82
+ findProvider(walletName) {
83
+ var _a, _b;
84
+ const provider = (_b = (_a = this.providers)[walletName]) === null || _b === void 0 ? void 0 : _b.call(_a);
85
+ return provider === undefined
86
+ ? undefined
87
+ : new ethers_1.ethers.providers.Web3Provider(provider);
88
+ }
89
+ fetchPublicAddressWithName(name) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const provider = this.findProvider(name);
92
+ if (!provider) {
93
+ return Promise.resolve(undefined);
94
+ }
95
+ try {
96
+ const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
97
+ const publicAddress = ethers_1.utils.getAddress(lowercaseAddress);
98
+ console_1.default.log(`${name} public address: ${publicAddress}`);
99
+ return publicAddress;
100
+ }
101
+ catch (err) {
102
+ console_1.default.error(err);
103
+ return Promise.resolve(undefined);
104
+ }
105
+ });
106
+ }
107
+ signMessageWithName(messageToSign, name) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const walletAddress = yield this.fetchPublicAddressWithName(name);
110
+ if (!walletAddress) {
111
+ return Promise.resolve(undefined);
112
+ }
113
+ const provider = this.findProvider(name);
114
+ if (!provider) {
115
+ return Promise.resolve(undefined);
116
+ }
117
+ const signer = provider.getSigner();
118
+ const signedMessage = yield signer.signMessage(messageToSign);
119
+ console_1.default.log('signedMessage:', signedMessage);
120
+ return signedMessage;
121
+ });
122
+ }
123
+ ensLookup(address, name) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ const provider = this.findProvider(name);
126
+ return (0, name_service_lookup_1.nameServiceLookup)(provider, address);
127
+ });
128
+ }
129
+ }
130
+ exports.EthProvider = EthProvider;
131
+ //# sourceMappingURL=eth-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eth-provider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/eth-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { LookupData } from '../../services/name-service-lookup';
2
+ import { Chain, FetchPublicAddressOpts, WalletConnector } from '../wallet-connector';
3
+ import { EthProvider } from './eth-provider';
4
+ declare class MetaMask extends EthProvider implements WalletConnector {
5
+ name: string;
6
+ supportedChains: Chain[];
7
+ connectedChain: Chain;
8
+ publicAddress: string | undefined;
9
+ private walletConnectClient;
10
+ constructor();
11
+ isInstalledOnBrowser(): boolean;
12
+ fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
13
+ signMessage(messageToSign: string): Promise<string | undefined>;
14
+ endSession(): Promise<void>;
15
+ nameServiceLookup(address: string): Promise<LookupData | undefined>;
16
+ }
17
+ export default MetaMask;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const ethers_1 = require("ethers");
36
+ const wallet_connect_client_1 = __importStar(require("../wallet-connect-client"));
37
+ const walletConnect_1 = require("../../utils/walletConnect");
38
+ const eth_provider_1 = require("./eth-provider");
39
+ class MetaMask extends eth_provider_1.EthProvider {
40
+ constructor() {
41
+ super();
42
+ this.name = 'metamask';
43
+ this.supportedChains = ['ETH'];
44
+ this.connectedChain = 'ETH';
45
+ this.walletConnectClient = new wallet_connect_client_1.default();
46
+ }
47
+ isInstalledOnBrowser() {
48
+ return this.isInstalledHelper(this.name);
49
+ }
50
+ fetchPublicAddress(opts) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (this.isInstalledOnBrowser()) {
53
+ return this.fetchPublicAddressWithName(this.name);
54
+ }
55
+ const address = yield this.walletConnectClient.fetchPublicAddress((0, walletConnect_1.getWalletConnectMetadata)(this.name), opts);
56
+ return address ? ethers_1.utils.getAddress(address) : undefined;
57
+ });
58
+ }
59
+ signMessage(messageToSign) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return this.isInstalledOnBrowser()
62
+ ? this.signMessageWithName(messageToSign, this.name)
63
+ : this.walletConnectClient.signPersonalMessage(messageToSign, (0, walletConnect_1.getWalletConnectMetadata)(this.name));
64
+ });
65
+ }
66
+ endSession() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ (0, wallet_connect_client_1.killWalletConnectSession)();
69
+ });
70
+ }
71
+ nameServiceLookup(address) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return this.ensLookup(address, this.name);
74
+ });
75
+ }
76
+ }
77
+ exports.default = MetaMask;
78
+ //# sourceMappingURL=meta-mask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-mask.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/meta-mask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA+B;AAG/B,kFAEkC;AAMlC,6DAAqE;AAErE,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAWhC;QACE,KAAK,EAAE,CAAC;QAXV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAS5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,+BAAmB,EAAE,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC/D,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,EACnC,IAAI,CACL,CAAC;YACF,OAAO,OAAO,CAAC,CAAC,CAAC,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,oBAAoB,EAAE;gBAChC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAC1C,aAAa,EACb,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACR,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,gDAAwB,GAAE,CAAC;QAC7B,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAAe;;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { LookupData } from '../../services/name-service-lookup';
2
+ import { Chain, WalletConnector } from '../wallet-connector';
3
+ import { EthProvider } from './eth-provider';
4
+ declare class Tallyho extends EthProvider implements WalletConnector {
5
+ name: string;
6
+ supportedChains: Chain[];
7
+ connectedChain: Chain;
8
+ isInstalledOnBrowser(): boolean;
9
+ fetchPublicAddress(): Promise<string | undefined>;
10
+ signMessage(messageToSign: string): Promise<string | undefined>;
11
+ nameServiceLookup(address: string): Promise<LookupData | undefined>;
12
+ }
13
+ export default Tallyho;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const eth_provider_1 = require("./eth-provider");
13
+ class Tallyho extends eth_provider_1.EthProvider {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'tallyho';
17
+ this.supportedChains = ['ETH'];
18
+ this.connectedChain = 'ETH';
19
+ }
20
+ isInstalledOnBrowser() {
21
+ return this.isInstalledHelper(this.name);
22
+ }
23
+ fetchPublicAddress() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return this.fetchPublicAddressWithName(this.name);
26
+ });
27
+ }
28
+ signMessage(messageToSign) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return this.signMessageWithName(messageToSign, this.name);
31
+ });
32
+ }
33
+ nameServiceLookup(address) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return this.ensLookup(address, this.name);
36
+ });
37
+ }
38
+ }
39
+ exports.default = Tallyho;
40
+ //# sourceMappingURL=tallyho.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tallyho.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/tallyho.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,iDAA6C;AAE7C,MAAM,OAAQ,SAAQ,0BAAW;IAAjC;;QACE,SAAI,GAAG,SAAS,CAAC;QAEjB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;IAiBhC,CAAC;IAfC,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB;;YACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAAe;;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Chain, WalletConnector } from '../wallet-connector';
2
+ import { SolProvider } from './sol-providers';
3
+ declare class Phantom extends SolProvider implements WalletConnector {
4
+ name: string;
5
+ supportedChains: Chain[];
6
+ connectedChain: Chain;
7
+ isInstalledOnBrowser(): boolean;
8
+ fetchPublicAddress(): Promise<string | undefined>;
9
+ signMessage(messageToSign: string): Promise<string | undefined>;
10
+ }
11
+ export default Phantom;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const sol_providers_1 = require("./sol-providers");
13
+ class Phantom extends sol_providers_1.SolProvider {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'glow';
17
+ this.supportedChains = ['SOL'];
18
+ this.connectedChain = 'SOL';
19
+ }
20
+ isInstalledOnBrowser() {
21
+ return this.isInstalledHelper(this.name);
22
+ }
23
+ fetchPublicAddress() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return this.fetchPublicAddressWithName(this.name);
26
+ });
27
+ }
28
+ signMessage(messageToSign) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return this.signMessageWithName(messageToSign, this.name);
31
+ });
32
+ }
33
+ }
34
+ exports.default = Phantom;
35
+ //# sourceMappingURL=glow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glow.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/solana/glow.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,mDAA8C;AAE9C,MAAM,OAAQ,SAAQ,2BAAW;IAAjC;;QACE,SAAI,GAAG,MAAM,CAAC;QAEd,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;IAahC,CAAC;IAXC,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB;;YACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Chain, WalletConnector } from '../wallet-connector';
2
+ import { SolProvider } from './sol-providers';
3
+ declare class Phantom extends SolProvider implements WalletConnector {
4
+ name: string;
5
+ supportedChains: Chain[];
6
+ connectedChain: Chain;
7
+ isInstalledOnBrowser(): boolean;
8
+ fetchPublicAddress(): Promise<string | undefined>;
9
+ signMessage(messageToSign: string): Promise<string | undefined>;
10
+ }
11
+ export default Phantom;