@pushchain/ui-kit 1.0.7-alpha.0

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 (131) hide show
  1. package/README.md +11 -0
  2. package/package.json +26 -0
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/components/LoginModal/index.d.ts +19 -0
  7. package/src/lib/components/LoginModal/index.js +209 -0
  8. package/src/lib/components/LoginModal/index.js.map +1 -0
  9. package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.d.ts +8 -0
  10. package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.js +25 -0
  11. package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.js.map +1 -0
  12. package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.d.ts +8 -0
  13. package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js +28 -0
  14. package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js.map +1 -0
  15. package/src/lib/components/PushUniversalAccountButton/index.d.ts +13 -0
  16. package/src/lib/components/PushUniversalAccountButton/index.js +59 -0
  17. package/src/lib/components/PushUniversalAccountButton/index.js.map +1 -0
  18. package/src/lib/components/PushWalletToast/index.d.ts +2 -0
  19. package/src/lib/components/PushWalletToast/index.js +30 -0
  20. package/src/lib/components/PushWalletToast/index.js.map +1 -0
  21. package/src/lib/components/common/Button.d.ts +17 -0
  22. package/src/lib/components/common/Button.js +38 -0
  23. package/src/lib/components/common/Button.js.map +1 -0
  24. package/src/lib/components/common/Spinner.d.ts +2 -0
  25. package/src/lib/components/common/Spinner.js +31 -0
  26. package/src/lib/components/common/Spinner.js.map +1 -0
  27. package/src/lib/components/common/icons/ArbitrumMonotone.d.ts +2 -0
  28. package/src/lib/components/common/icons/ArbitrumMonotone.js +8 -0
  29. package/src/lib/components/common/icons/ArbitrumMonotone.js.map +1 -0
  30. package/src/lib/components/common/icons/AvalancheMonotone.d.ts +2 -0
  31. package/src/lib/components/common/icons/AvalancheMonotone.js +8 -0
  32. package/src/lib/components/common/icons/AvalancheMonotone.js.map +1 -0
  33. package/src/lib/components/common/icons/BnbMonotone.d.ts +2 -0
  34. package/src/lib/components/common/icons/BnbMonotone.js +8 -0
  35. package/src/lib/components/common/icons/BnbMonotone.js.map +1 -0
  36. package/src/lib/components/common/icons/CrossIcon.d.ts +6 -0
  37. package/src/lib/components/common/icons/CrossIcon.js +8 -0
  38. package/src/lib/components/common/icons/CrossIcon.js.map +1 -0
  39. package/src/lib/components/common/icons/DashIcon.d.ts +2 -0
  40. package/src/lib/components/common/icons/DashIcon.js +8 -0
  41. package/src/lib/components/common/icons/DashIcon.js.map +1 -0
  42. package/src/lib/components/common/icons/EllipseIcon.d.ts +2 -0
  43. package/src/lib/components/common/icons/EllipseIcon.js +8 -0
  44. package/src/lib/components/common/icons/EllipseIcon.js.map +1 -0
  45. package/src/lib/components/common/icons/EthereumMonotone.d.ts +2 -0
  46. package/src/lib/components/common/icons/EthereumMonotone.js +8 -0
  47. package/src/lib/components/common/icons/EthereumMonotone.js.map +1 -0
  48. package/src/lib/components/common/icons/OptimismMonotone.d.ts +2 -0
  49. package/src/lib/components/common/icons/OptimismMonotone.js +8 -0
  50. package/src/lib/components/common/icons/OptimismMonotone.js.map +1 -0
  51. package/src/lib/components/common/icons/PolygonMonotone.d.ts +2 -0
  52. package/src/lib/components/common/icons/PolygonMonotone.js +8 -0
  53. package/src/lib/components/common/icons/PolygonMonotone.js.map +1 -0
  54. package/src/lib/components/common/icons/PushLogo.d.ts +2 -0
  55. package/src/lib/components/common/icons/PushLogo.js +8 -0
  56. package/src/lib/components/common/icons/PushLogo.js.map +1 -0
  57. package/src/lib/components/common/icons/PushMonotone.d.ts +2 -0
  58. package/src/lib/components/common/icons/PushMonotone.js +8 -0
  59. package/src/lib/components/common/icons/PushMonotone.js.map +1 -0
  60. package/src/lib/components/common/icons/SolanaMonotone.d.ts +2 -0
  61. package/src/lib/components/common/icons/SolanaMonotone.js +8 -0
  62. package/src/lib/components/common/icons/SolanaMonotone.js.map +1 -0
  63. package/src/lib/components/common/icons/index.d.ts +12 -0
  64. package/src/lib/components/common/icons/index.js +30 -0
  65. package/src/lib/components/common/icons/index.js.map +1 -0
  66. package/src/lib/components/common/index.d.ts +3 -0
  67. package/src/lib/components/common/index.js +9 -0
  68. package/src/lib/components/common/index.js.map +1 -0
  69. package/src/lib/constants/environment.d.ts +20 -0
  70. package/src/lib/constants/environment.js +17 -0
  71. package/src/lib/constants/environment.js.map +1 -0
  72. package/src/lib/constants/index.d.ts +38 -0
  73. package/src/lib/constants/index.js +55 -0
  74. package/src/lib/constants/index.js.map +1 -0
  75. package/src/lib/context/WalletContext.d.ts +22 -0
  76. package/src/lib/context/WalletContext.js +265 -0
  77. package/src/lib/context/WalletContext.js.map +1 -0
  78. package/src/lib/context/WalletContextMap.d.ts +2 -0
  79. package/src/lib/context/WalletContextMap.js +15 -0
  80. package/src/lib/context/WalletContextMap.js.map +1 -0
  81. package/src/lib/helpers/index.d.ts +1 -0
  82. package/src/lib/helpers/index.js +5 -0
  83. package/src/lib/helpers/index.js.map +1 -0
  84. package/src/lib/helpers/wallet.helpers.d.ts +6 -0
  85. package/src/lib/helpers/wallet.helpers.js +42 -0
  86. package/src/lib/helpers/wallet.helpers.js.map +1 -0
  87. package/src/lib/hooks/useAppMetadata.d.ts +1 -0
  88. package/src/lib/hooks/useAppMetadata.js +9 -0
  89. package/src/lib/hooks/useAppMetadata.js.map +1 -0
  90. package/src/lib/hooks/usePushChainClient.d.ts +6 -0
  91. package/src/lib/hooks/usePushChainClient.js +59 -0
  92. package/src/lib/hooks/usePushChainClient.js.map +1 -0
  93. package/src/lib/hooks/usePushWallet.d.ts +2 -0
  94. package/src/lib/hooks/usePushWallet.js +15 -0
  95. package/src/lib/hooks/usePushWallet.js.map +1 -0
  96. package/src/lib/index.d.ts +6 -0
  97. package/src/lib/index.js +11 -0
  98. package/src/lib/index.js.map +1 -0
  99. package/src/lib/providers/PushWalletProvider.d.ts +3 -0
  100. package/src/lib/providers/PushWalletProvider.js +49 -0
  101. package/src/lib/providers/PushWalletProvider.js.map +1 -0
  102. package/src/lib/providers/walletProviders/BaseWalletProvider.d.ts +17 -0
  103. package/src/lib/providers/walletProviders/BaseWalletProvider.js +26 -0
  104. package/src/lib/providers/walletProviders/BaseWalletProvider.js.map +1 -0
  105. package/src/lib/providers/walletProviders/WalletProviderRegistry.d.ts +13 -0
  106. package/src/lib/providers/walletProviders/WalletProviderRegistry.js +37 -0
  107. package/src/lib/providers/walletProviders/WalletProviderRegistry.js.map +1 -0
  108. package/src/lib/providers/walletProviders/ethereum/metamask.d.ts +15 -0
  109. package/src/lib/providers/walletProviders/ethereum/metamask.js +137 -0
  110. package/src/lib/providers/walletProviders/ethereum/metamask.js.map +1 -0
  111. package/src/lib/providers/walletProviders/helpers/address.d.ts +11 -0
  112. package/src/lib/providers/walletProviders/helpers/address.js +72 -0
  113. package/src/lib/providers/walletProviders/helpers/address.js.map +1 -0
  114. package/src/lib/providers/walletProviders/solana/phantom.d.ts +40 -0
  115. package/src/lib/providers/walletProviders/solana/phantom.js +130 -0
  116. package/src/lib/providers/walletProviders/solana/phantom.js.map +1 -0
  117. package/src/lib/styles/token.d.ts +72 -0
  118. package/src/lib/styles/token.js +26 -0
  119. package/src/lib/styles/token.js.map +1 -0
  120. package/src/lib/types/PushWalletProvider.types.d.ts +54 -0
  121. package/src/lib/types/PushWalletProvider.types.js +3 -0
  122. package/src/lib/types/PushWalletProvider.types.js.map +1 -0
  123. package/src/lib/types/index.d.ts +2 -0
  124. package/src/lib/types/index.js +6 -0
  125. package/src/lib/types/index.js.map +1 -0
  126. package/src/lib/types/wallet.types.d.ts +34 -0
  127. package/src/lib/types/wallet.types.js +12 -0
  128. package/src/lib/types/wallet.types.js.map +1 -0
  129. package/src/lib/utils/theme.d.ts +2 -0
  130. package/src/lib/utils/theme.js +36 -0
  131. package/src/lib/utils/theme.js.map +1 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletContextProvider = exports.WalletContext = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const constants_1 = require("../constants");
8
+ const helpers_1 = require("../helpers");
9
+ const WalletProviderRegistry_1 = require("../providers/walletProviders/WalletProviderRegistry");
10
+ const PushWalletToast_1 = require("../components/PushWalletToast");
11
+ const LoginModal_1 = require("../components/LoginModal");
12
+ const WalletContextMap_1 = require("./WalletContextMap");
13
+ exports.WalletContext = (0, react_1.createContext)(null);
14
+ const WalletContextProvider = ({ children, config, app, themeMode = constants_1.CONSTANTS.THEME.DARK, themeOverrides, }) => {
15
+ const [universalAddress, setUniversalAddress] = (0, react_1.useState)(null);
16
+ const iframeRef = (0, react_1.useRef)(null);
17
+ const [isWalletVisible, setWalletVisibility] = (0, react_1.useState)(false); // to display the iframe as connect button is clicked
18
+ const [isWalletMinimised, setMinimiseWallet] = (0, react_1.useState)(false); // to display/hide minimized wallet modal
19
+ const [isIframeLoading, setIframeLoading] = (0, react_1.useState)(true);
20
+ const [connectionStatus, setConnectionStatus] = (0, react_1.useState)('notConnected');
21
+ const [externalWallet, setExternalWallet] = (0, react_1.useState)(null); // to connect with external wallet
22
+ const [showToast, setShowToast] = (0, react_1.useState)(false);
23
+ const signatureResolverRef = (0, react_1.useRef)(null);
24
+ const [modalAppData, setModalAppData] = (0, react_1.useState)(app
25
+ ? {
26
+ title: app === null || app === void 0 ? void 0 : app.title,
27
+ logoURL: app === null || app === void 0 ? void 0 : app.logoUrl,
28
+ description: app === null || app === void 0 ? void 0 : app.description,
29
+ }
30
+ : undefined);
31
+ const [walletAppData, setWalletAppData] = (0, react_1.useState)(app
32
+ ? {
33
+ title: app === null || app === void 0 ? void 0 : app.title,
34
+ logoURL: app === null || app === void 0 ? void 0 : app.logoUrl,
35
+ description: app === null || app === void 0 ? void 0 : app.description,
36
+ }
37
+ : undefined);
38
+ const updateModalAppData = (newData) => {
39
+ setModalAppData((prevData) => (Object.assign(Object.assign({}, prevData), newData)));
40
+ };
41
+ const updateWalletAppData = (newData) => {
42
+ setWalletAppData((prevData) => (Object.assign(Object.assign({}, prevData), newData)));
43
+ };
44
+ const handleConnectToPushWallet = () => {
45
+ setWalletVisibility(true);
46
+ setConnectionStatus('connecting');
47
+ };
48
+ // sending wallet config to the Push wallet
49
+ const sendWalletConfig = () => {
50
+ const walletConfig = {
51
+ loginDefaults: config.login,
52
+ themeMode,
53
+ appMetadata: walletAppData,
54
+ themeOverrides: themeOverrides || {},
55
+ };
56
+ sendMessageToPushWallet({
57
+ type: constants_1.APP_TO_WALLET_ACTION.WALLET_CONFIG,
58
+ data: Object.assign({}, walletConfig),
59
+ });
60
+ };
61
+ const handleUserLogOutEvent = () => {
62
+ setConnectionStatus('notConnected');
63
+ setUniversalAddress(null);
64
+ setMinimiseWallet(false);
65
+ setWalletVisibility(false);
66
+ };
67
+ // sending events to wallet from dapp
68
+ const sendMessageToPushWallet = (message) => {
69
+ var _a;
70
+ if ((_a = iframeRef === null || iframeRef === void 0 ? void 0 : iframeRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow) {
71
+ try {
72
+ iframeRef.current.contentWindow.postMessage(message, constants_1.WALLET_CONFIG_URL[config.env]);
73
+ }
74
+ catch (error) {
75
+ console.error('Error sending message to push wallet tab:', error);
76
+ }
77
+ }
78
+ };
79
+ // response when the wallet sends logged in action
80
+ const handleIsLoggedInAction = () => {
81
+ handleNewConnectionRequest();
82
+ setExternalWallet(null);
83
+ };
84
+ // sending a new connection request as soon as wallet gets connected
85
+ const handleNewConnectionRequest = () => {
86
+ setConnectionStatus('authenticating');
87
+ sendMessageToPushWallet({
88
+ type: constants_1.APP_TO_WALLET_ACTION.NEW_CONNECTION_REQUEST,
89
+ });
90
+ };
91
+ const handleAppConnectionSuccess = (response) => {
92
+ setConnectionStatus('connected');
93
+ setMinimiseWallet(true);
94
+ if (response.account) {
95
+ const result = (0, helpers_1.getWalletDataFromAccount)(response.account);
96
+ setUniversalAddress({
97
+ chainId: result.chainId,
98
+ chain: result.chain,
99
+ address: result.address,
100
+ });
101
+ }
102
+ };
103
+ const handleAppConnectionRejection = () => {
104
+ setConnectionStatus('retry');
105
+ setUniversalAddress(null);
106
+ };
107
+ // Connect external wallet
108
+ const handleExternalWalletConnection = (data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
109
+ try {
110
+ const providerReceived = WalletProviderRegistry_1.walletRegistry.getProvider(data.provider);
111
+ if (!providerReceived) {
112
+ return;
113
+ }
114
+ const walletInfo = yield providerReceived.connect(data.chain);
115
+ setConnectionStatus('connected');
116
+ setMinimiseWallet(true);
117
+ const result = (0, helpers_1.getWalletDataFromAccount)(walletInfo.caipAddress);
118
+ setUniversalAddress({
119
+ chainId: result.chainId,
120
+ chain: result.chain,
121
+ address: result.address,
122
+ });
123
+ const connectedWallet = {
124
+ address: walletInfo.caipAddress,
125
+ providerName: data.provider,
126
+ chainType: data.chain,
127
+ };
128
+ setExternalWallet(connectedWallet);
129
+ sendMessageToPushWallet({
130
+ type: constants_1.APP_TO_WALLET_ACTION.CONNECTION_STATUS,
131
+ data: Object.assign({ status: 'successful' }, connectedWallet),
132
+ });
133
+ }
134
+ catch (error) {
135
+ console.log('Failed to connect to provider', error);
136
+ sendMessageToPushWallet({
137
+ type: constants_1.APP_TO_WALLET_ACTION.CONNECTION_STATUS,
138
+ data: {
139
+ status: 'rejected',
140
+ },
141
+ });
142
+ throw new Error('Failed to connect to provider');
143
+ }
144
+ });
145
+ // handles external wallet signature request
146
+ const handleExternalWalletSignRequest = (data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
147
+ if (!externalWallet) {
148
+ throw new Error('No External wallet connected');
149
+ }
150
+ setShowToast(true);
151
+ try {
152
+ const providerReceived = WalletProviderRegistry_1.walletRegistry.getProvider(externalWallet.providerName);
153
+ if (!providerReceived) {
154
+ setShowToast(false);
155
+ throw new Error('Provider not found');
156
+ }
157
+ const signature = yield providerReceived.signMessage(data);
158
+ return signature;
159
+ }
160
+ catch (error) {
161
+ console.log('Error in generating signature', error);
162
+ throw new Error('Signature request failed');
163
+ }
164
+ finally {
165
+ setShowToast(false);
166
+ }
167
+ });
168
+ // handles Push wallet signature request
169
+ const handleSendSignRequestToPushWallet = (data) => {
170
+ return new Promise((resolve, reject) => {
171
+ setShowToast(true);
172
+ if (signatureResolverRef.current) {
173
+ setShowToast(false);
174
+ reject(new Error('Another sign request is already in progress'));
175
+ return;
176
+ }
177
+ signatureResolverRef.current = {
178
+ success: (response) => {
179
+ resolve(response.signature);
180
+ setShowToast(false);
181
+ signatureResolverRef.current = null; // Clean up
182
+ },
183
+ error: (response) => {
184
+ signatureResolverRef.current = null; // Clean up
185
+ setShowToast(false);
186
+ reject(new Error('Signature request failed'));
187
+ },
188
+ };
189
+ // Send the sign request to the wallet tab
190
+ sendMessageToPushWallet({
191
+ type: constants_1.APP_TO_WALLET_ACTION.SIGN_MESSAGE,
192
+ data,
193
+ });
194
+ });
195
+ };
196
+ // sending Message sign request to wallet based on which wallet is connected (external or pushwallet)
197
+ const handleSignMessage = (data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
198
+ let signature;
199
+ if (externalWallet) {
200
+ signature = yield handleExternalWalletSignRequest(data);
201
+ }
202
+ else {
203
+ signature = yield handleSendSignRequestToPushWallet(data);
204
+ }
205
+ return signature;
206
+ });
207
+ (0, react_1.useEffect)(() => {
208
+ const messageHandler = (event) => {
209
+ var _a, _b, _c, _d, _e;
210
+ if (((_a = iframeRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow) !== event.source)
211
+ return;
212
+ switch (event.data.type) {
213
+ case constants_1.WALLET_TO_APP_ACTION.CONNECT_EXTERNAL_WALLET:
214
+ console.log('External wallet connection req');
215
+ handleExternalWalletConnection(event.data.data);
216
+ break;
217
+ case constants_1.WALLET_TO_APP_ACTION.IS_LOGGED_IN:
218
+ console.log('wallet connected successfully', event.data);
219
+ handleIsLoggedInAction();
220
+ break;
221
+ case constants_1.WALLET_TO_APP_ACTION.APP_CONNECTION_SUCCESS:
222
+ handleAppConnectionSuccess(event.data.data);
223
+ break;
224
+ case constants_1.WALLET_TO_APP_ACTION.APP_CONNECTION_REJECTED:
225
+ handleAppConnectionRejection();
226
+ break;
227
+ case constants_1.WALLET_TO_APP_ACTION.SIGNATURE:
228
+ if (signatureResolverRef.current) {
229
+ (_c = (_b = signatureResolverRef === null || signatureResolverRef === void 0 ? void 0 : signatureResolverRef.current) === null || _b === void 0 ? void 0 : _b.success) === null || _c === void 0 ? void 0 : _c.call(_b, event.data.data);
230
+ }
231
+ break;
232
+ case constants_1.WALLET_TO_APP_ACTION.IS_LOGGED_OUT:
233
+ handleUserLogOutEvent();
234
+ break;
235
+ case constants_1.WALLET_TO_APP_ACTION.ERROR:
236
+ (_e = (_d = signatureResolverRef === null || signatureResolverRef === void 0 ? void 0 : signatureResolverRef.current) === null || _d === void 0 ? void 0 : _d.error) === null || _e === void 0 ? void 0 : _e.call(_d, event.data.data);
237
+ break;
238
+ default:
239
+ console.warn('Unknown message type:', event.data.type);
240
+ }
241
+ };
242
+ window.addEventListener('message', messageHandler);
243
+ return () => window.removeEventListener('message', messageHandler);
244
+ }, []);
245
+ const WalletContext = (0, WalletContextMap_1.getWalletContext)((config === null || config === void 0 ? void 0 : config.uid) || 'default');
246
+ return ((0, jsx_runtime_1.jsxs)(WalletContext.Provider, { value: {
247
+ app,
248
+ config,
249
+ connectionStatus,
250
+ universalAddress,
251
+ isWalletMinimised,
252
+ modalAppData,
253
+ themeMode,
254
+ themeOverrides: {},
255
+ updateModalAppData,
256
+ walletAppData,
257
+ updateWalletAppData,
258
+ setMinimiseWallet,
259
+ handleConnectToPushWallet,
260
+ handleUserLogOutEvent,
261
+ handleSignMessage,
262
+ }, children: [(0, jsx_runtime_1.jsx)(LoginModal_1.LoginModal, { iframeRef: iframeRef, themeMode: themeMode, modalAppData: modalAppData, isWalletVisible: isWalletVisible, isIframeLoading: isIframeLoading, setIframeLoading: setIframeLoading, sendWalletConfig: sendWalletConfig, config: config, universalAddress: universalAddress, isWalletMinimised: isWalletMinimised, setMinimiseWallet: setMinimiseWallet, handleUserLogOutEvent: handleUserLogOutEvent }), isWalletVisible && showToast && (0, jsx_runtime_1.jsx)(PushWalletToast_1.PushWalletToast, {}), children] }));
263
+ };
264
+ exports.WalletContextProvider = WalletContextProvider;
265
+ //# sourceMappingURL=WalletContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletContext.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/context/WalletContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { WalletContextType } from './WalletContext';
2
+ export declare const getWalletContext: (uid?: string) => import("react").Context<WalletContextType | null>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWalletContext = void 0;
4
+ const react_1 = require("react");
5
+ const WalletContextMap = new Map();
6
+ const getWalletContext = (uid = 'default') => {
7
+ let ctx = WalletContextMap.get(uid);
8
+ if (!ctx) {
9
+ ctx = (0, react_1.createContext)(null);
10
+ WalletContextMap.set(uid, ctx);
11
+ }
12
+ return ctx;
13
+ };
14
+ exports.getWalletContext = getWalletContext;
15
+ //# sourceMappingURL=WalletContextMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletContextMap.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/context/WalletContextMap.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAGtC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;AAEG,MAAM,gBAAgB,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE;IAClD,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAA,qBAAa,EAA2B,IAAI,CAAC,CAAC;QACpD,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B"}
@@ -0,0 +1 @@
1
+ export * from "./wallet.helpers";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./wallet.helpers"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/helpers/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgC"}
@@ -0,0 +1,6 @@
1
+ export declare const getWalletDataFromAccount: (account: string) => {
2
+ chainId: string;
3
+ chain: string;
4
+ address: string;
5
+ };
6
+ export declare function centerMaskString(str: string, len?: number): string;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWalletDataFromAccount = void 0;
4
+ exports.centerMaskString = centerMaskString;
5
+ const getWalletDataFromAccount = (account) => {
6
+ const addressComponent = account.split(':');
7
+ // Handle cases where there are exactly three components (chain, chainId, address)
8
+ if (addressComponent.length === 3) {
9
+ return {
10
+ chain: addressComponent[0],
11
+ chainId: addressComponent[1],
12
+ address: addressComponent[2],
13
+ };
14
+ }
15
+ // Handle cases where there are exactly two components (chain, address)
16
+ else if (addressComponent.length === 2) {
17
+ return {
18
+ chain: addressComponent[0],
19
+ chainId: '',
20
+ address: addressComponent[1],
21
+ };
22
+ }
23
+ // If the input doesn't match the expected format, return the address only
24
+ else {
25
+ return {
26
+ chain: '',
27
+ chainId: '',
28
+ address: account,
29
+ };
30
+ }
31
+ };
32
+ exports.getWalletDataFromAccount = getWalletDataFromAccount;
33
+ function centerMaskString(str, len = 6) {
34
+ if (str && str.length > 15) {
35
+ const start = str.substring(0, len);
36
+ const end = str.substring(str.length - len);
37
+ return start + '...' + end;
38
+ }
39
+ // If the string is too short, return it as is
40
+ return str;
41
+ }
42
+ //# sourceMappingURL=wallet.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.helpers.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/helpers/wallet.helpers.ts"],"names":[],"mappings":";;;AAoCA,4CAQC;AA5CM,MAAM,wBAAwB,GAAG,CACpC,OAAe,EAKjB,EAAE;IACA,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5C,kFAAkF;IAClF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACH,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC1B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;SAC/B,CAAC;IACN,CAAC;IACD,uEAAuE;SAClE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACH,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC1B,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;SAC/B,CAAC;IACN,CAAC;IACD,0EAA0E;SACrE,CAAC;QACF,OAAO;YACH,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,OAAO;SACnB,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,wBAAwB,4BAiCnC;AAGF,SAAgB,gBAAgB,CAAC,GAAW,EAAE,GAAG,GAAG,CAAC;IACjD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC5C,OAAO,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;IAC/B,CAAC;IACD,8CAA8C;IAC9C,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const useAppMetadata: (uid?: string) => import("..").AppMetadata | undefined;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAppMetadata = void 0;
4
+ // hooks/useAppMetadata.ts
5
+ const react_1 = require("react");
6
+ const WalletContext_1 = require("../context/WalletContext");
7
+ const useAppMetadata = (uid) => { var _a; return (_a = (0, react_1.useContext)(WalletContext_1.WalletContext)) === null || _a === void 0 ? void 0 : _a.app; };
8
+ exports.useAppMetadata = useAppMetadata;
9
+ //# sourceMappingURL=useAppMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppMetadata.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/hooks/useAppMetadata.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,iCAAmC;AACnC,4DAAyD;AAClD,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE,WAAC,OAAA,MAAA,IAAA,kBAAU,EAAC,6BAAa,CAAC,0CAAE,GAAG,CAAA,EAAA,CAAC;AAAlE,QAAA,cAAc,kBAAoD"}
@@ -0,0 +1,6 @@
1
+ import { PushChain } from '@pushchain/devnet';
2
+ export declare const usePushChainClient: (uid?: string) => {
3
+ pushChain: PushChain | null;
4
+ error: Error | null;
5
+ isLoading: boolean;
6
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ // hooks/usePushChainClient.ts (use uid?:string in the future as prop)
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.usePushChainClient = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const devnet_1 = require("@pushchain/devnet");
7
+ const usePushWallet_1 = require("./usePushWallet");
8
+ const react_1 = require("react");
9
+ const constants_1 = require("../constants");
10
+ const usePushChainClient = (uid) => {
11
+ const { config, universalAddress, handleSignMessage } = (0, usePushWallet_1.usePushWalletContext)(uid);
12
+ const [pushChain, setPushChain] = (0, react_1.useState)(null);
13
+ const [error, setError] = (0, react_1.useState)(null);
14
+ // initialise Push Chain instance here and export that
15
+ (0, react_1.useEffect)(() => {
16
+ const initializePushChain = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
17
+ if (!universalAddress) {
18
+ setPushChain(null);
19
+ return;
20
+ }
21
+ try {
22
+ const signer = (0, devnet_1.createUniversalSigner)({
23
+ address: universalAddress.address,
24
+ chain: universalAddress.chain,
25
+ chainId: universalAddress.chainId,
26
+ signMessage: (data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
27
+ return yield handleSignMessage(data);
28
+ }),
29
+ });
30
+ // Push Chain is only initialized at devnet and mainnet
31
+ const pushChainNetwork = config.env === constants_1.ENV.LOCAL || config.env === constants_1.ENV.TESTNET
32
+ ? devnet_1.CONSTANTS.ENV.DEVNET
33
+ : config.env;
34
+ const instance = yield devnet_1.PushChain.initialize(signer, {
35
+ network: pushChainNetwork,
36
+ rpcUrl: config.rpcURL,
37
+ });
38
+ console.log('Push Chain Initialised', instance);
39
+ setPushChain(instance);
40
+ setError(null);
41
+ }
42
+ catch (err) {
43
+ console.log('Error occured when initialising Push chain', err);
44
+ setError(err instanceof Error
45
+ ? err
46
+ : new Error('Failed to initialize PushChain'));
47
+ setPushChain(null);
48
+ }
49
+ });
50
+ initializePushChain();
51
+ }, [universalAddress]);
52
+ return {
53
+ pushChain,
54
+ error,
55
+ isLoading: !pushChain && !error,
56
+ };
57
+ };
58
+ exports.usePushChainClient = usePushChainClient;
59
+ //# sourceMappingURL=usePushChainClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePushChainClient.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/hooks/usePushChainClient.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;;AAEtE,8CAAgF;AAChF,mDAAuD;AACvD,iCAA4C;AAC5C,4CAAmC;AAE5B,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAE,EAAE;IACjD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GACnD,IAAA,oCAAoB,EAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAmB,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAe,IAAI,CAAC,CAAC;IAEvD,sDAAsD;IACtD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,mBAAmB,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,8BAAqB,EAAC;oBACnC,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,KAAK,EAAE,gBAAgB,CAAC,KAAK;oBAC7B,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,WAAW,EAAE,CAAO,IAAgB,EAAE,EAAE;wBACtC,OAAO,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACvC,CAAC,CAAA;iBACF,CAAC,CAAC;gBAEH,uDAAuD;gBACvD,MAAM,gBAAgB,GACpB,MAAM,CAAC,GAAG,KAAK,eAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,eAAG,CAAC,OAAO;oBACpD,CAAC,CAAC,kBAAS,CAAC,GAAG,CAAC,MAAM;oBACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAEjB,MAAM,QAAQ,GAAG,MAAM,kBAAS,CAAC,UAAU,CAAC,MAAM,EAAE;oBAClD,OAAO,EAAE,gBAAgB;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;gBAEhD,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;gBAC/D,QAAQ,CACN,GAAG,YAAY,KAAK;oBAClB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAChD,CAAC;gBACF,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAA,CAAC;QAEF,mBAAmB,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO;QACL,SAAS;QACT,KAAK;QACL,SAAS,EAAE,CAAC,SAAS,IAAI,CAAC,KAAK;KAChC,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,kBAAkB,sBA0D7B"}
@@ -0,0 +1,2 @@
1
+ import { WalletContextType } from '../context/WalletContext';
2
+ export declare const usePushWalletContext: (uid?: string) => WalletContextType;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePushWalletContext = void 0;
4
+ const react_1 = require("react");
5
+ const WalletContextMap_1 = require("../context/WalletContextMap");
6
+ // Custom hook to use WalletContext
7
+ const usePushWalletContext = (uid) => {
8
+ const context = (0, react_1.useContext)((0, WalletContextMap_1.getWalletContext)(uid || 'default'));
9
+ if (!context) {
10
+ throw new Error('usePushWalletContext must be used within a PushWalletProvider');
11
+ }
12
+ return context;
13
+ };
14
+ exports.usePushWalletContext = usePushWalletContext;
15
+ //# sourceMappingURL=usePushWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePushWallet.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/hooks/usePushWallet.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AAEnC,kEAA+D;AAE/D,mCAAmC;AAC5B,MAAM,oBAAoB,GAAG,CAAC,GAAY,EAAqB,EAAE;IACtE,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,IAAA,mCAAgB,EAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B"}
@@ -0,0 +1,6 @@
1
+ export * from './constants';
2
+ export * from './providers/PushWalletProvider';
3
+ export * from './types';
4
+ export * from "./components/PushUniversalAccountButton";
5
+ export * from "./hooks/usePushWallet";
6
+ export * from "./hooks/usePushChainClient";
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./constants"), exports);
5
+ // export * from './walletDeprecated';
6
+ tslib_1.__exportStar(require("./providers/PushWalletProvider"), exports);
7
+ tslib_1.__exportStar(require("./types"), exports);
8
+ tslib_1.__exportStar(require("./components/PushUniversalAccountButton"), exports);
9
+ tslib_1.__exportStar(require("./hooks/usePushWallet"), exports);
10
+ tslib_1.__exportStar(require("./hooks/usePushChainClient"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/ui-kit/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,sCAAsC;AACtC,yEAA+C;AAC/C,kDAAwB;AAExB,kFAAwD;AACxD,gEAAsC;AACtC,qEAA2C"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { PushWalletProviderProps } from '../types/index';
3
+ export declare const PushWalletProvider: FC<PushWalletProviderProps>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PushWalletProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const WalletContext_1 = require("../context/WalletContext");
7
+ const constants_1 = require("../constants");
8
+ const styled_components_1 = require("styled-components");
9
+ const token_1 = require("../styles/token");
10
+ const theme_1 = require("../utils/theme");
11
+ const loginDefaultConfig = {
12
+ email: true,
13
+ google: true,
14
+ wallet: {
15
+ enabled: true,
16
+ },
17
+ };
18
+ const PushWalletConfigDefault = {
19
+ uid: 'default',
20
+ login: loginDefaultConfig,
21
+ env: constants_1.CONSTANTS.ENV.DEVNET,
22
+ modal: {
23
+ loginLayout: constants_1.CONSTANTS.LOGIN.SIMPLE,
24
+ appPreview: false,
25
+ },
26
+ };
27
+ const PushWalletProvider = ({ config, app, themeMode = constants_1.CONSTANTS.THEME.DARK, themeOverrides = {}, children, }) => {
28
+ var _a;
29
+ const GlobalStyle = (0, styled_components_1.createGlobalStyle) `
30
+ :root{
31
+ ${(props) => {
32
+ const { themeMode, themeOverrides } = props.theme;
33
+ console.log(themeOverrides);
34
+ const isLightMode = themeMode === 'light';
35
+ const { dark, light } = themeOverrides, globalOverrides = tslib_1.__rest(themeOverrides, ["dark", "light"]);
36
+ console.log((0, theme_1.mapCoreToInt)(globalOverrides));
37
+ const newOverrides = Object.assign(Object.assign(Object.assign({}, Object.assign(Object.assign({}, token_1.themeDefault), (isLightMode ? token_1.lightThemeDefault : token_1.darkThemeDefault))), (0, theme_1.mapCoreToInt)(globalOverrides)), (0, theme_1.mapCoreToInt)(isLightMode ? light : dark));
38
+ console.log(newOverrides);
39
+ return Object.entries(newOverrides)
40
+ .map(([key, value]) => `${key}: ${value};`)
41
+ .join('\n');
42
+ }}
43
+ }
44
+ `;
45
+ const mergedConfig = Object.assign(Object.assign(Object.assign({}, PushWalletConfigDefault), config), { login: Object.assign(Object.assign(Object.assign({}, loginDefaultConfig), ((config === null || config === void 0 ? void 0 : config.login) || {})), { wallet: Object.assign(Object.assign({}, loginDefaultConfig.wallet), (((_a = config === null || config === void 0 ? void 0 : config.login) === null || _a === void 0 ? void 0 : _a.wallet) || {})) }), modal: Object.assign(Object.assign({}, PushWalletConfigDefault.modal), config.modal) });
46
+ return ((0, jsx_runtime_1.jsxs)(styled_components_1.ThemeProvider, { theme: { themeMode, themeOverrides }, children: [(0, jsx_runtime_1.jsx)(GlobalStyle, {}), (0, jsx_runtime_1.jsx)(WalletContext_1.WalletContextProvider, { config: mergedConfig, app: app, themeMode: themeMode, themeOverrides: themeOverrides, children: children })] }));
47
+ };
48
+ exports.PushWalletProvider = PushWalletProvider;
49
+ //# sourceMappingURL=PushWalletProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushWalletProvider.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/providers/PushWalletProvider.tsx"],"names":[],"mappings":";;;;;AAEA,4DAAiE;AACjE,4CAAyC;AACzC,yDAAqE;AACrE,2CAIyB;AACzB,0CAA8C;AAE9C,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAwB;IACnD,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,kBAAkB;IACzB,GAAG,EAAE,qBAAS,CAAC,GAAG,CAAC,MAAM;IACzB,KAAK,EAAE;QACL,WAAW,EAAE,qBAAS,CAAC,KAAK,CAAC,MAAM;QACnC,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEK,MAAM,kBAAkB,GAAgC,CAAC,EAC9D,MAAM,EACN,GAAG,EACH,SAAS,GAAG,qBAAS,CAAC,KAAK,CAAC,IAAI,EAChC,cAAc,GAAG,EAAE,EACnB,QAAQ,GACT,EAAE,EAAE;;IACH,MAAM,WAAW,GAAG,IAAA,qCAAiB,EAAA;;QAE/B,CAAC,KAAK,EAAE,EAAE;QACV,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,SAAS,KAAK,OAAO,CAAC;QAC1C,MAAM,EAAE,IAAI,EAAE,KAAK,KAAyB,cAAc,EAAlC,eAAe,kBAAK,cAAc,EAApD,iBAAmC,CAAiB,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC,CAAC;QAC3C,MAAM,YAAY,iFAEX,oBAAY,GACZ,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,wBAAgB,CAAC,IAEtD,IAAA,oBAAY,EAAC,eAAe,CAAC,GAC7B,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5C,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;aAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;;GAEJ,CAAC;IAEF,MAAM,YAAY,iDACb,uBAAuB,GACvB,MAAM,KACT,KAAK,gDACA,kBAAkB,GAClB,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,EAAE,CAAC,KACxB,MAAM,kCACD,kBAAkB,CAAC,MAAM,GACzB,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,KAAI,EAAE,CAAC,MAGpC,KAAK,kCACA,uBAAuB,CAAC,KAAK,GAC7B,MAAM,CAAC,KAAK,IAElB,CAAC;IAEF,OAAO,CACL,wBAAC,iCAAa,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aACjD,uBAAC,WAAW,KAAG,EACf,uBAAC,qCAAqB,IACpB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,YAE7B,QAAQ,GACa,IACV,CACjB,CAAC;AACJ,CAAC,CAAC;AA7DW,QAAA,kBAAkB,sBA6D7B"}
@@ -0,0 +1,17 @@
1
+ import { ChainType, IWalletProvider } from '../../types/wallet.types';
2
+ export declare abstract class BaseWalletProvider implements IWalletProvider {
3
+ readonly name: string;
4
+ readonly icon: string;
5
+ readonly supportedChains: ChainType[];
6
+ constructor(name: string, icon: string, supportedChains: ChainType[]);
7
+ abstract connect(chainType?: ChainType): Promise<{
8
+ caipAddress: string;
9
+ }>;
10
+ abstract signMessage(message: Uint8Array): Promise<Uint8Array>;
11
+ abstract disconnect(): Promise<void>;
12
+ abstract getChainId(): Promise<unknown>;
13
+ protected formatAddress(rawAddress: string, chainType: ChainType, chainId: number): {
14
+ caipAddress: string;
15
+ };
16
+ protected validateChainType(chainType?: ChainType): ChainType;
17
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseWalletProvider = void 0;
4
+ const address_1 = require("./helpers/address");
5
+ class BaseWalletProvider {
6
+ constructor(name, icon, supportedChains) {
7
+ this.name = name;
8
+ this.icon = icon;
9
+ this.supportedChains = supportedChains;
10
+ }
11
+ formatAddress(rawAddress, chainType, chainId) {
12
+ const caipAddress = (0, address_1.toCAIPFormat)(rawAddress, chainType, chainId);
13
+ return { caipAddress };
14
+ }
15
+ validateChainType(chainType) {
16
+ if (!chainType && this.supportedChains.length === 1) {
17
+ return this.supportedChains[0];
18
+ }
19
+ if (chainType && !this.supportedChains.includes(chainType)) {
20
+ throw new Error(`${this.name} does not support ${chainType}`);
21
+ }
22
+ return chainType;
23
+ }
24
+ }
25
+ exports.BaseWalletProvider = BaseWalletProvider;
26
+ //# sourceMappingURL=BaseWalletProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseWalletProvider.js","sourceRoot":"","sources":["../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/BaseWalletProvider.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AAGjD,MAAsB,kBAAkB;IAKtC,YAAY,IAAY,EAAE,IAAY,EAAE,eAA4B;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAOS,aAAa,CACrB,UAAkB,EAClB,SAAoB,EACpB,OAAe;QAEf,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAES,iBAAiB,CAAC,SAAqB;QAC/C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,SAAsB,CAAC;IAChC,CAAC;CACF;AApCD,gDAoCC"}