@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.
- package/README.md +11 -0
- package/package.json +26 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/components/LoginModal/index.d.ts +19 -0
- package/src/lib/components/LoginModal/index.js +209 -0
- package/src/lib/components/LoginModal/index.js.map +1 -0
- package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.d.ts +8 -0
- package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.js +25 -0
- package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.js.map +1 -0
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.d.ts +8 -0
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js +28 -0
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.js.map +1 -0
- package/src/lib/components/PushUniversalAccountButton/index.d.ts +13 -0
- package/src/lib/components/PushUniversalAccountButton/index.js +59 -0
- package/src/lib/components/PushUniversalAccountButton/index.js.map +1 -0
- package/src/lib/components/PushWalletToast/index.d.ts +2 -0
- package/src/lib/components/PushWalletToast/index.js +30 -0
- package/src/lib/components/PushWalletToast/index.js.map +1 -0
- package/src/lib/components/common/Button.d.ts +17 -0
- package/src/lib/components/common/Button.js +38 -0
- package/src/lib/components/common/Button.js.map +1 -0
- package/src/lib/components/common/Spinner.d.ts +2 -0
- package/src/lib/components/common/Spinner.js +31 -0
- package/src/lib/components/common/Spinner.js.map +1 -0
- package/src/lib/components/common/icons/ArbitrumMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/ArbitrumMonotone.js +8 -0
- package/src/lib/components/common/icons/ArbitrumMonotone.js.map +1 -0
- package/src/lib/components/common/icons/AvalancheMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/AvalancheMonotone.js +8 -0
- package/src/lib/components/common/icons/AvalancheMonotone.js.map +1 -0
- package/src/lib/components/common/icons/BnbMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/BnbMonotone.js +8 -0
- package/src/lib/components/common/icons/BnbMonotone.js.map +1 -0
- package/src/lib/components/common/icons/CrossIcon.d.ts +6 -0
- package/src/lib/components/common/icons/CrossIcon.js +8 -0
- package/src/lib/components/common/icons/CrossIcon.js.map +1 -0
- package/src/lib/components/common/icons/DashIcon.d.ts +2 -0
- package/src/lib/components/common/icons/DashIcon.js +8 -0
- package/src/lib/components/common/icons/DashIcon.js.map +1 -0
- package/src/lib/components/common/icons/EllipseIcon.d.ts +2 -0
- package/src/lib/components/common/icons/EllipseIcon.js +8 -0
- package/src/lib/components/common/icons/EllipseIcon.js.map +1 -0
- package/src/lib/components/common/icons/EthereumMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/EthereumMonotone.js +8 -0
- package/src/lib/components/common/icons/EthereumMonotone.js.map +1 -0
- package/src/lib/components/common/icons/OptimismMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/OptimismMonotone.js +8 -0
- package/src/lib/components/common/icons/OptimismMonotone.js.map +1 -0
- package/src/lib/components/common/icons/PolygonMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/PolygonMonotone.js +8 -0
- package/src/lib/components/common/icons/PolygonMonotone.js.map +1 -0
- package/src/lib/components/common/icons/PushLogo.d.ts +2 -0
- package/src/lib/components/common/icons/PushLogo.js +8 -0
- package/src/lib/components/common/icons/PushLogo.js.map +1 -0
- package/src/lib/components/common/icons/PushMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/PushMonotone.js +8 -0
- package/src/lib/components/common/icons/PushMonotone.js.map +1 -0
- package/src/lib/components/common/icons/SolanaMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/SolanaMonotone.js +8 -0
- package/src/lib/components/common/icons/SolanaMonotone.js.map +1 -0
- package/src/lib/components/common/icons/index.d.ts +12 -0
- package/src/lib/components/common/icons/index.js +30 -0
- package/src/lib/components/common/icons/index.js.map +1 -0
- package/src/lib/components/common/index.d.ts +3 -0
- package/src/lib/components/common/index.js +9 -0
- package/src/lib/components/common/index.js.map +1 -0
- package/src/lib/constants/environment.d.ts +20 -0
- package/src/lib/constants/environment.js +17 -0
- package/src/lib/constants/environment.js.map +1 -0
- package/src/lib/constants/index.d.ts +38 -0
- package/src/lib/constants/index.js +55 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/context/WalletContext.d.ts +22 -0
- package/src/lib/context/WalletContext.js +265 -0
- package/src/lib/context/WalletContext.js.map +1 -0
- package/src/lib/context/WalletContextMap.d.ts +2 -0
- package/src/lib/context/WalletContextMap.js +15 -0
- package/src/lib/context/WalletContextMap.js.map +1 -0
- package/src/lib/helpers/index.d.ts +1 -0
- package/src/lib/helpers/index.js +5 -0
- package/src/lib/helpers/index.js.map +1 -0
- package/src/lib/helpers/wallet.helpers.d.ts +6 -0
- package/src/lib/helpers/wallet.helpers.js +42 -0
- package/src/lib/helpers/wallet.helpers.js.map +1 -0
- package/src/lib/hooks/useAppMetadata.d.ts +1 -0
- package/src/lib/hooks/useAppMetadata.js +9 -0
- package/src/lib/hooks/useAppMetadata.js.map +1 -0
- package/src/lib/hooks/usePushChainClient.d.ts +6 -0
- package/src/lib/hooks/usePushChainClient.js +59 -0
- package/src/lib/hooks/usePushChainClient.js.map +1 -0
- package/src/lib/hooks/usePushWallet.d.ts +2 -0
- package/src/lib/hooks/usePushWallet.js +15 -0
- package/src/lib/hooks/usePushWallet.js.map +1 -0
- package/src/lib/index.d.ts +6 -0
- package/src/lib/index.js +11 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/providers/PushWalletProvider.d.ts +3 -0
- package/src/lib/providers/PushWalletProvider.js +49 -0
- package/src/lib/providers/PushWalletProvider.js.map +1 -0
- package/src/lib/providers/walletProviders/BaseWalletProvider.d.ts +17 -0
- package/src/lib/providers/walletProviders/BaseWalletProvider.js +26 -0
- package/src/lib/providers/walletProviders/BaseWalletProvider.js.map +1 -0
- package/src/lib/providers/walletProviders/WalletProviderRegistry.d.ts +13 -0
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js +37 -0
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js.map +1 -0
- package/src/lib/providers/walletProviders/ethereum/metamask.d.ts +15 -0
- package/src/lib/providers/walletProviders/ethereum/metamask.js +137 -0
- package/src/lib/providers/walletProviders/ethereum/metamask.js.map +1 -0
- package/src/lib/providers/walletProviders/helpers/address.d.ts +11 -0
- package/src/lib/providers/walletProviders/helpers/address.js +72 -0
- package/src/lib/providers/walletProviders/helpers/address.js.map +1 -0
- package/src/lib/providers/walletProviders/solana/phantom.d.ts +40 -0
- package/src/lib/providers/walletProviders/solana/phantom.js +130 -0
- package/src/lib/providers/walletProviders/solana/phantom.js.map +1 -0
- package/src/lib/styles/token.d.ts +72 -0
- package/src/lib/styles/token.js +26 -0
- package/src/lib/styles/token.js.map +1 -0
- package/src/lib/types/PushWalletProvider.types.d.ts +54 -0
- package/src/lib/types/PushWalletProvider.types.js +3 -0
- package/src/lib/types/PushWalletProvider.types.js.map +1 -0
- package/src/lib/types/index.d.ts +2 -0
- package/src/lib/types/index.js +6 -0
- package/src/lib/types/index.js.map +1 -0
- package/src/lib/types/wallet.types.d.ts +34 -0
- package/src/lib/types/wallet.types.js +12 -0
- package/src/lib/types/wallet.types.js.map +1 -0
- package/src/lib/utils/theme.d.ts +2 -0
- package/src/lib/utils/theme.js +36 -0
- 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,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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/ui-kit/src/lib/helpers/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgC"}
|
|
@@ -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,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,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"}
|
package/src/lib/index.js
ADDED
|
@@ -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,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"}
|