@pushchain/ui-kit 5.1.0 → 5.2.0-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/package.json +2 -1
- package/src/index.d.ts +2 -0
- package/src/lib/components/LoginModal/index.d.ts +23 -0
- package/src/lib/components/LoginModal/index.js +18 -19
- package/src/lib/components/LoginModal/index.js.map +1 -1
- package/src/lib/components/LoginModal/useSmartModalPosition.d.ts +6 -0
- package/src/lib/components/LoginModal/useSmartModalPosition.js +2 -1
- package/src/lib/components/LoginModal/useSmartModalPosition.js.map +1 -1
- package/src/lib/components/PushUniversalAccountButton/ConnectWalletButton.d.ts +11 -0
- package/src/lib/components/PushUniversalAccountButton/TogglePushWalletButton.d.ts +11 -0
- package/src/lib/components/PushUniversalAccountButton/index.d.ts +17 -0
- package/src/lib/components/PushUniversalAccountButton/index.js +8 -9
- package/src/lib/components/PushUniversalAccountButton/index.js.map +1 -1
- package/src/lib/components/PushWalletToast/index.d.ts +8 -0
- package/src/lib/components/PushWalletToast/index.js +2 -2
- package/src/lib/components/PushWalletToast/index.js.map +1 -1
- package/src/lib/components/common/Button.d.ts +23 -0
- package/src/lib/components/common/Button.js +4 -1
- package/src/lib/components/common/Button.js.map +1 -1
- package/src/lib/components/common/Spinner.d.ts +6 -0
- package/src/lib/components/common/icons/ArbitrumMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/AvalancheMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/BaseMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/BnbMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/CaretDown.d.ts +6 -0
- package/src/lib/components/common/icons/CaretUp.d.ts +6 -0
- package/src/lib/components/common/icons/CrossIcon.d.ts +6 -0
- package/src/lib/components/common/icons/DashIcon.d.ts +2 -0
- package/src/lib/components/common/icons/EllipseIcon.d.ts +2 -0
- package/src/lib/components/common/icons/EthereumMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/OptimismMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/PolygonMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/PushLogo.d.ts +2 -0
- package/src/lib/components/common/icons/PushMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/SolanaMonotone.d.ts +2 -0
- package/src/lib/components/common/icons/TickIcon.d.ts +2 -0
- package/src/lib/components/common/icons/WarningIcon.d.ts +2 -0
- package/src/lib/components/common/icons/index.d.ts +14 -0
- package/src/lib/components/common/index.d.ts +3 -0
- package/src/lib/constants/environment.d.ts +15 -0
- package/src/lib/constants/environment.js +2 -2
- package/src/lib/constants/environment.js.map +1 -1
- package/src/lib/constants/index.d.ts +75 -0
- package/src/lib/constants/index.js +3 -0
- package/src/lib/constants/index.js.map +1 -1
- package/src/lib/context/WalletContext.d.ts +43 -0
- package/src/lib/context/WalletContext.js +141 -161
- package/src/lib/context/WalletContext.js.map +1 -1
- package/src/lib/context/WalletContextMap.d.ts +2 -0
- package/src/lib/helpers/index.d.ts +1 -0
- package/src/lib/helpers/txnAuthGuard.d.ts +10 -0
- package/src/lib/helpers/txnAuthGuard.js +19 -18
- package/src/lib/helpers/txnAuthGuard.js.map +1 -1
- package/src/lib/helpers/wallet.helpers.d.ts +8 -0
- package/src/lib/hooks/useAppMetadata.d.ts +1 -0
- package/src/lib/hooks/useAppMetadata.js +1 -1
- package/src/lib/hooks/useAppMetadata.js.map +1 -1
- package/src/lib/hooks/usePushChain.d.ts +4 -0
- package/src/lib/hooks/usePushChainClient.d.ts +6 -0
- package/src/lib/hooks/usePushChainClient.js +14 -12
- package/src/lib/hooks/usePushChainClient.js.map +1 -1
- package/src/lib/hooks/usePushWallet.d.ts +2 -0
- package/src/lib/index.d.ts +7 -0
- package/src/lib/polyfills/index.d.ts +4 -0
- package/src/lib/providers/PushWalletProvider.d.ts +3 -0
- package/src/lib/providers/PushWalletProvider.js +8 -28
- package/src/lib/providers/PushWalletProvider.js.map +1 -1
- package/src/lib/providers/theme/ThemeContext.d.ts +0 -0
- package/src/lib/providers/theme/ThemeContext.js +1 -0
- package/src/lib/providers/waap/initWaap.d.ts +2 -0
- package/src/lib/providers/waap/initWaap.js +16 -0
- package/src/lib/providers/waap/initWaap.js.map +1 -0
- package/src/lib/providers/waap/useWaapAuth.d.ts +13 -0
- package/src/lib/providers/waap/useWaapAuth.js +69 -0
- package/src/lib/providers/waap/useWaapAuth.js.map +1 -0
- package/src/lib/providers/waap/waap.config.d.ts +4 -0
- package/src/lib/providers/waap/waap.config.js +64 -0
- package/src/lib/providers/waap/waap.config.js.map +1 -0
- package/src/lib/providers/waap/waapEvents.d.ts +7 -0
- package/src/lib/providers/waap/waapEvents.js +44 -0
- package/src/lib/providers/waap/waapEvents.js.map +1 -0
- package/src/lib/providers/waap/waapProvider.d.ts +8 -0
- package/src/lib/providers/waap/waapProvider.js +145 -0
- package/src/lib/providers/waap/waapProvider.js.map +1 -0
- package/src/lib/providers/walletProviders/BaseWalletProvider.d.ts +19 -0
- package/src/lib/providers/walletProviders/WalletProviderRegistry.d.ts +13 -0
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js +2 -1
- package/src/lib/providers/walletProviders/WalletProviderRegistry.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/chains.d.ts +42 -0
- package/src/lib/providers/walletProviders/ethereum/chains.js +1 -4
- package/src/lib/providers/walletProviders/ethereum/chains.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/metamask.d.ts +18 -0
- package/src/lib/providers/walletProviders/ethereum/metamask.js +50 -49
- package/src/lib/providers/walletProviders/ethereum/metamask.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/rabby.d.ts +17 -0
- package/src/lib/providers/walletProviders/ethereum/rabby.js +44 -45
- package/src/lib/providers/walletProviders/ethereum/rabby.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/walletConnect.d.ts +17 -0
- package/src/lib/providers/walletProviders/ethereum/walletConnect.js +68 -66
- package/src/lib/providers/walletProviders/ethereum/walletConnect.js.map +1 -1
- package/src/lib/providers/walletProviders/ethereum/zerion.d.ts +17 -0
- package/src/lib/providers/walletProviders/ethereum/zerion.js +44 -45
- package/src/lib/providers/walletProviders/ethereum/zerion.js.map +1 -1
- package/src/lib/providers/walletProviders/helpers/address.d.ts +11 -0
- package/src/lib/providers/walletProviders/solana/phantom.d.ts +46 -0
- package/src/lib/providers/walletProviders/solana/phantom.js +60 -56
- package/src/lib/providers/walletProviders/solana/phantom.js.map +1 -1
- package/src/lib/providers/walletProviders/utils/eip6963.d.ts +12 -0
- package/src/lib/providers/walletProviders/utils/eip6963.js +4 -2
- package/src/lib/providers/walletProviders/utils/eip6963.js.map +1 -1
- package/src/lib/styles/token.d.ts +76 -0
- package/src/lib/styles/token.js +1 -5
- package/src/lib/styles/token.js.map +1 -1
- package/src/lib/types/PushWalletProvider.types.d.ts +71 -0
- package/src/lib/types/index.d.ts +2 -0
- package/src/lib/types/wallet.types.d.ts +52 -0
- package/src/lib/utils/theme.d.ts +2 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitForTxHashFromPendingTxId = exports.ensureWaapTxListeners = void 0;
|
|
4
|
+
const inflight = new Map();
|
|
5
|
+
let listenersAttached = false;
|
|
6
|
+
const isHexHash = (v) => typeof v === "string" && /^0x[0-9a-fA-F]{64}$/.test(v);
|
|
7
|
+
const ensureWaapTxListeners = (waap) => {
|
|
8
|
+
if (listenersAttached)
|
|
9
|
+
return;
|
|
10
|
+
listenersAttached = true;
|
|
11
|
+
waap.on("waap_tx_pending", (data) => {
|
|
12
|
+
if (!(data === null || data === void 0 ? void 0 : data.pendingTxId) || !isHexHash(data.txHash))
|
|
13
|
+
return;
|
|
14
|
+
const entry = inflight.get(data.pendingTxId);
|
|
15
|
+
if (!entry)
|
|
16
|
+
return;
|
|
17
|
+
clearTimeout(entry.timer);
|
|
18
|
+
inflight.delete(data.pendingTxId);
|
|
19
|
+
entry.resolve(data.txHash);
|
|
20
|
+
});
|
|
21
|
+
waap.on("waap_tx_failed", (data) => {
|
|
22
|
+
if (!(data === null || data === void 0 ? void 0 : data.pendingTxId))
|
|
23
|
+
return;
|
|
24
|
+
const entry = inflight.get(data.pendingTxId);
|
|
25
|
+
if (!entry)
|
|
26
|
+
return;
|
|
27
|
+
clearTimeout(entry.timer);
|
|
28
|
+
inflight.delete(data.pendingTxId);
|
|
29
|
+
entry.reject(new Error(`WaaP tx failed${data.stage ? ` (${data.stage})` : ""}: ${data.error}`));
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
exports.ensureWaapTxListeners = ensureWaapTxListeners;
|
|
33
|
+
const waitForTxHashFromPendingTxId = (waap, pendingTxId, timeoutMs = 90000) => {
|
|
34
|
+
(0, exports.ensureWaapTxListeners)(waap);
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
const timer = setTimeout(() => {
|
|
37
|
+
inflight.delete(pendingTxId);
|
|
38
|
+
reject(new Error(`Timed out waiting for txHash (pendingTxId=${pendingTxId})`));
|
|
39
|
+
}, timeoutMs);
|
|
40
|
+
inflight.set(pendingTxId, { resolve, reject, timer });
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
exports.waitForTxHashFromPendingTxId = waitForTxHashFromPendingTxId;
|
|
44
|
+
//# sourceMappingURL=waapEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waapEvents.js","sourceRoot":"","sources":["../../../../../../../packages/ui-kit/src/lib/providers/waap/waapEvents.ts"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAC;AAEJ,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,MAAM,SAAS,GAAG,CAAC,CAAM,EAAsB,EAAE,CAC/C,OAAO,CAAC,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElD,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAE,EAAE;IAClD,IAAI,iBAAiB;QAAE,OAAO;IAC9B,iBAAiB,GAAG,IAAI,CAAC;IAEzB,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAsB,EAAE,EAAE;QACpD,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAqB,EAAE,EAAE;QAClD,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA;YAAE,OAAO;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvBW,QAAA,qBAAqB,yBAuBhC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,IAAU,EACV,WAAmB,EACnB,SAAS,GAAG,KAAM,EACM,EAAE;IAC1B,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,WAAW,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,4BAA4B,gCAevC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChainType, ITypedData } from "../../../lib/types";
|
|
2
|
+
export declare const getWaapProvider: () => any;
|
|
3
|
+
export declare const getWaapAddress: () => Promise<`0x${string}`>;
|
|
4
|
+
export declare const getWaapAccount: () => Promise<`0x${string}`>;
|
|
5
|
+
export declare const switchNetwork: (chainName: ChainType) => Promise<void>;
|
|
6
|
+
export declare const waapSignMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
7
|
+
export declare const waapSignTypedData: (typedData: ITypedData) => Promise<Uint8Array>;
|
|
8
|
+
export declare const waapSignAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waapSignAndSendTransaction = exports.waapSignTypedData = exports.waapSignMessage = exports.switchNetwork = exports.getWaapAccount = exports.getWaapAddress = exports.getWaapProvider = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const waapEvents_1 = require("./waapEvents");
|
|
7
|
+
const chains_1 = require("../walletProviders/ethereum/chains");
|
|
8
|
+
const getWaapProvider = () => {
|
|
9
|
+
var _a;
|
|
10
|
+
if (typeof window === 'undefined')
|
|
11
|
+
return null;
|
|
12
|
+
return (_a = window.waap) !== null && _a !== void 0 ? _a : null;
|
|
13
|
+
};
|
|
14
|
+
exports.getWaapProvider = getWaapProvider;
|
|
15
|
+
const getWaapAddress = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const waap = (0, exports.getWaapProvider)();
|
|
17
|
+
const accounts = yield waap.request({ method: "eth_accounts" });
|
|
18
|
+
const addr = accounts === null || accounts === void 0 ? void 0 : accounts[0];
|
|
19
|
+
if (!addr)
|
|
20
|
+
throw new Error("No WaaP account connected");
|
|
21
|
+
return addr;
|
|
22
|
+
});
|
|
23
|
+
exports.getWaapAddress = getWaapAddress;
|
|
24
|
+
const getWaapAccount = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const provider = (0, exports.getWaapProvider)();
|
|
26
|
+
const accounts = (yield provider.request({
|
|
27
|
+
method: "eth_accounts",
|
|
28
|
+
}));
|
|
29
|
+
if (!accounts || accounts.length === 0) {
|
|
30
|
+
throw new Error("No connected WaaP account");
|
|
31
|
+
}
|
|
32
|
+
return accounts[0];
|
|
33
|
+
});
|
|
34
|
+
exports.getWaapAccount = getWaapAccount;
|
|
35
|
+
const switchNetwork = (chainName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
var _a;
|
|
37
|
+
const network = chains_1.chains[chainName];
|
|
38
|
+
const provider = (0, exports.getWaapProvider)();
|
|
39
|
+
const hexNetworkId = (0, viem_1.toHex)(network.id);
|
|
40
|
+
const currentChainId = yield provider.request({
|
|
41
|
+
method: "eth_chainId",
|
|
42
|
+
});
|
|
43
|
+
if (currentChainId === hexNetworkId)
|
|
44
|
+
return;
|
|
45
|
+
try {
|
|
46
|
+
yield provider.request({
|
|
47
|
+
method: "wallet_switchEthereumChain",
|
|
48
|
+
params: [{ chainId: hexNetworkId }]
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
try {
|
|
53
|
+
yield provider.request({
|
|
54
|
+
method: "wallet_addEthereumChain",
|
|
55
|
+
params: [{
|
|
56
|
+
chainId: hexNetworkId,
|
|
57
|
+
chainName: network.name,
|
|
58
|
+
rpcUrls: network.rpcUrls.default.http,
|
|
59
|
+
nativeCurrency: network.nativeCurrency,
|
|
60
|
+
blockExplorerUrls: [(_a = network.blockExplorers) === null || _a === void 0 ? void 0 : _a.default.url]
|
|
61
|
+
}]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (addError) {
|
|
65
|
+
console.error("Error switching network:", addError);
|
|
66
|
+
throw addError;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
exports.switchNetwork = switchNetwork;
|
|
71
|
+
const waapSignMessage = (message) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
const provider = (0, exports.getWaapProvider)();
|
|
73
|
+
const accounts = (yield provider.request({
|
|
74
|
+
method: "eth_accounts",
|
|
75
|
+
}));
|
|
76
|
+
if (!accounts || accounts.length === 0) {
|
|
77
|
+
throw new Error("No connected Rabby account");
|
|
78
|
+
}
|
|
79
|
+
const hexMessage = (0, viem_1.bytesToHex)(message);
|
|
80
|
+
const signature = yield provider.request({
|
|
81
|
+
method: "personal_sign",
|
|
82
|
+
params: [hexMessage, accounts[0]],
|
|
83
|
+
});
|
|
84
|
+
return (0, viem_1.hexToBytes)(signature);
|
|
85
|
+
});
|
|
86
|
+
exports.waapSignMessage = waapSignMessage;
|
|
87
|
+
const waapSignTypedData = (typedData) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
88
|
+
const provider = (0, exports.getWaapProvider)();
|
|
89
|
+
const accounts = (yield provider.request({
|
|
90
|
+
method: "eth_accounts",
|
|
91
|
+
}));
|
|
92
|
+
if (!accounts || accounts.length === 0) {
|
|
93
|
+
throw new Error("No connected Rabby account");
|
|
94
|
+
}
|
|
95
|
+
typedData.types = {
|
|
96
|
+
EIP712Domain: [
|
|
97
|
+
{ name: "version", type: "string" },
|
|
98
|
+
{ name: "chainId", type: "uint256" },
|
|
99
|
+
{ name: "verifyingContract", type: "address" },
|
|
100
|
+
],
|
|
101
|
+
UniversalPayload: typedData.types["UniversalPayload"],
|
|
102
|
+
};
|
|
103
|
+
const signature = yield provider.request({
|
|
104
|
+
method: "eth_signTypedData_v4",
|
|
105
|
+
params: [accounts[0], JSON.stringify(typedData)],
|
|
106
|
+
});
|
|
107
|
+
return (0, viem_1.hexToBytes)(signature);
|
|
108
|
+
});
|
|
109
|
+
exports.waapSignTypedData = waapSignTypedData;
|
|
110
|
+
const waapSignAndSendTransaction = (txn) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
111
|
+
const provider = (0, exports.getWaapProvider)();
|
|
112
|
+
const accounts = (yield provider.request({
|
|
113
|
+
method: "eth_accounts",
|
|
114
|
+
}));
|
|
115
|
+
if (!accounts || accounts.length === 0) {
|
|
116
|
+
throw new Error("No connected Rabby account");
|
|
117
|
+
}
|
|
118
|
+
const hex = (0, viem_1.bytesToHex)(txn);
|
|
119
|
+
const parsed = (0, viem_1.parseTransaction)(hex);
|
|
120
|
+
const txParams = {
|
|
121
|
+
from: accounts[0],
|
|
122
|
+
to: parsed.to,
|
|
123
|
+
value: parsed.value ? "0x" + parsed.value.toString(16) : undefined,
|
|
124
|
+
data: parsed.data,
|
|
125
|
+
gas: parsed.gas ? "0x" + parsed.gas.toString(16) : undefined,
|
|
126
|
+
maxPriorityFeePerGas: parsed.maxPriorityFeePerGas
|
|
127
|
+
? "0x" + parsed.maxPriorityFeePerGas.toString(16)
|
|
128
|
+
: undefined,
|
|
129
|
+
maxFeePerGas: parsed.maxFeePerGas
|
|
130
|
+
? "0x" + parsed.maxFeePerGas.toString(16)
|
|
131
|
+
: undefined,
|
|
132
|
+
};
|
|
133
|
+
const res = yield provider.request({
|
|
134
|
+
method: "eth_sendTransaction",
|
|
135
|
+
params: [txParams],
|
|
136
|
+
async: true,
|
|
137
|
+
});
|
|
138
|
+
if ((0, viem_1.isHash)(res))
|
|
139
|
+
return (0, viem_1.hexToBytes)(res);
|
|
140
|
+
const pendingTxId = res === null || res === void 0 ? void 0 : res.pendingTxId;
|
|
141
|
+
const txHash = yield (0, waapEvents_1.waitForTxHashFromPendingTxId)(provider, pendingTxId);
|
|
142
|
+
return (0, viem_1.hexToBytes)(txHash);
|
|
143
|
+
});
|
|
144
|
+
exports.waapSignAndSendTransaction = waapSignAndSendTransaction;
|
|
145
|
+
//# sourceMappingURL=waapProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waapProvider.js","sourceRoot":"","sources":["../../../../../../../packages/ui-kit/src/lib/providers/waap/waapProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChainType, IWalletProvider, ITypedData } 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 signAndSendTransaction(txn: Uint8Array): Promise<Uint8Array>;
|
|
12
|
+
abstract signTypedData(typedData: ITypedData): Promise<Uint8Array>;
|
|
13
|
+
abstract disconnect(): Promise<void>;
|
|
14
|
+
abstract getChainId(): Promise<unknown>;
|
|
15
|
+
protected formatAddress(rawAddress: string, chainType: ChainType, chainId: number): {
|
|
16
|
+
caipAddress: string;
|
|
17
|
+
};
|
|
18
|
+
protected validateChainType(chainType?: ChainType): ChainType;
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChainType, IWalletProvider } from '../../types/wallet.types';
|
|
2
|
+
declare class WalletProviderRegistry {
|
|
3
|
+
private providers;
|
|
4
|
+
private chainProviders;
|
|
5
|
+
constructor();
|
|
6
|
+
registerProvider(provider: IWalletProvider): void;
|
|
7
|
+
getProvider(name: string): IWalletProvider | undefined;
|
|
8
|
+
getProvidersByChain(chain: ChainType): IWalletProvider[];
|
|
9
|
+
getAllProviders(): IWalletProvider[];
|
|
10
|
+
getAllSupportedChains(): ChainType[];
|
|
11
|
+
}
|
|
12
|
+
export declare const walletRegistry: WalletProviderRegistry;
|
|
13
|
+
export {};
|
|
@@ -19,10 +19,11 @@ class WalletProviderRegistry {
|
|
|
19
19
|
registerProvider(provider) {
|
|
20
20
|
this.providers.set(provider.name, provider);
|
|
21
21
|
provider.supportedChains.forEach((chain) => {
|
|
22
|
+
var _a;
|
|
22
23
|
if (!this.chainProviders.has(chain)) {
|
|
23
24
|
this.chainProviders.set(chain, []);
|
|
24
25
|
}
|
|
25
|
-
this.chainProviders.get(chain)
|
|
26
|
+
(_a = this.chainProviders.get(chain)) === null || _a === void 0 ? void 0 : _a.push(provider);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
getProvider(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/WalletProviderRegistry.ts"],"names":[],"mappings":";;;AAAA,kDAAuD;AACvD,8CAAmD;AACnD,4CAAiD;AACjD,8CAAmD;AAEnD,4DAAiE;AAEjE,MAAM,sBAAsB;IAI1B;QAHQ,cAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;QACpD,mBAAc,GAAsC,IAAI,GAAG,EAAE,CAAC;QAGpE,IAAI,CAAC,gBAAgB,CAAC,IAAI,2BAAgB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,yBAAe,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,qCAAqB,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,qBAAa,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,uBAAc,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE5C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"WalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/WalletProviderRegistry.ts"],"names":[],"mappings":";;;AAAA,kDAAuD;AACvD,8CAAmD;AACnD,4CAAiD;AACjD,8CAAmD;AAEnD,4DAAiE;AAEjE,MAAM,sBAAsB;IAI1B;QAHQ,cAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;QACpD,mBAAc,GAAsC,IAAI,GAAG,EAAE,CAAC;QAGpE,IAAI,CAAC,gBAAgB,CAAC,IAAI,2BAAgB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,yBAAe,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,qCAAqB,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,qBAAa,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,uBAAc,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE5C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;YACzC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,KAAgB;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAEY,QAAA,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as viemChains from 'viem/chains';
|
|
2
|
+
type ChainType = typeof viemChains & Record<string, unknown>;
|
|
3
|
+
export declare const pushWalletDonut: {
|
|
4
|
+
blockExplorers: {
|
|
5
|
+
readonly default: {
|
|
6
|
+
readonly name: "Push Testnet Explorer";
|
|
7
|
+
readonly url: "https://donut.push.network/";
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
contracts?: viemChains.Prettify<{
|
|
11
|
+
[key: string]: import("viem").ChainContract | {
|
|
12
|
+
[sourceId: number]: import("viem").ChainContract | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
} & {
|
|
15
|
+
ensRegistry?: import("viem").ChainContract | undefined;
|
|
16
|
+
ensUniversalResolver?: import("viem").ChainContract | undefined;
|
|
17
|
+
multicall3?: import("viem").ChainContract | undefined;
|
|
18
|
+
universalSignatureVerifier?: import("viem").ChainContract | undefined;
|
|
19
|
+
}> | undefined;
|
|
20
|
+
ensTlds?: readonly string[] | undefined;
|
|
21
|
+
id: 42101;
|
|
22
|
+
name: "Push Testnet Donut";
|
|
23
|
+
nativeCurrency: {
|
|
24
|
+
readonly decimals: 18;
|
|
25
|
+
readonly name: "Push Chain";
|
|
26
|
+
readonly symbol: "PC";
|
|
27
|
+
};
|
|
28
|
+
rpcUrls: {
|
|
29
|
+
readonly default: {
|
|
30
|
+
readonly http: readonly ["https://evm.donut.rpc.push.org/"];
|
|
31
|
+
readonly webSocket: readonly ["wss://evm.donut.rpc.push.org"];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
sourceId?: number | undefined;
|
|
35
|
+
testnet?: boolean | undefined;
|
|
36
|
+
custom?: Record<string, unknown> | undefined;
|
|
37
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
38
|
+
formatters?: undefined;
|
|
39
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
40
|
+
};
|
|
41
|
+
export declare const chains: ChainType;
|
|
42
|
+
export {};
|
|
@@ -22,8 +22,5 @@ exports.pushWalletDonut = (0, viem_1.defineChain)({
|
|
|
22
22
|
default: { name: 'Push Testnet Explorer', url: 'https://donut.push.network/' },
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
|
-
exports.chains = {
|
|
26
|
-
...viemChains,
|
|
27
|
-
pushWalletDonut: exports.pushWalletDonut,
|
|
28
|
-
};
|
|
25
|
+
exports.chains = Object.assign(Object.assign({}, viemChains), { pushWalletDonut: exports.pushWalletDonut });
|
|
29
26
|
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/chains.ts"],"names":[],"mappings":";;;;AAAA,+BAAmC;AACnC,gEAA0C;AAI7B,QAAA,eAAe,GAAG,IAAA,kBAAW,EAAC;IACzC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,iCAAiC,CAAC;YACzC,SAAS,EAAE,CAAC,8BAA8B,CAAC;SAC5C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,6BAA6B,EAAE;KAC/E;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/chains.ts"],"names":[],"mappings":";;;;AAAA,+BAAmC;AACnC,gEAA0C;AAI7B,QAAA,eAAe,GAAG,IAAA,kBAAW,EAAC;IACzC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,iCAAiC,CAAC;YACzC,SAAS,EAAE,CAAC,8BAA8B,CAAC;SAC5C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,6BAA6B,EAAE;KAC/E;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,mCACd,UAAU,KACb,eAAe,EAAf,uBAAe,IACf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseWalletProvider } from '../BaseWalletProvider';
|
|
2
|
+
import { ChainType, ITypedData } from '../../../types/wallet.types';
|
|
3
|
+
export declare class MetamaskProvider extends BaseWalletProvider {
|
|
4
|
+
private sdk;
|
|
5
|
+
constructor();
|
|
6
|
+
isInstalled: () => Promise<boolean>;
|
|
7
|
+
getProvider: () => import("@metamask/sdk").SDKProvider | undefined;
|
|
8
|
+
getSigner: () => Promise<import("ethers").JsonRpcSigner>;
|
|
9
|
+
connect(chainType: ChainType): Promise<{
|
|
10
|
+
caipAddress: string;
|
|
11
|
+
}>;
|
|
12
|
+
getChainId: () => Promise<number>;
|
|
13
|
+
switchNetwork: (chainName: ChainType) => Promise<void>;
|
|
14
|
+
signAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>;
|
|
15
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
16
|
+
signTypedData: (typedData: ITypedData) => Promise<Uint8Array>;
|
|
17
|
+
disconnect: () => Promise<void>;
|
|
18
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MetamaskProvider = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const sdk_1 = require("@metamask/sdk");
|
|
5
6
|
const BaseWalletProvider_1 = require("../BaseWalletProvider");
|
|
6
7
|
const wallet_types_1 = require("../../../types/wallet.types");
|
|
@@ -16,34 +17,35 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
16
17
|
wallet_types_1.ChainType.BINANCE,
|
|
17
18
|
wallet_types_1.ChainType.PUSH_WALLET,
|
|
18
19
|
]);
|
|
19
|
-
this.isInstalled =
|
|
20
|
+
this.isInstalled = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
21
|
const provider = this.sdk.getProvider();
|
|
21
22
|
return !!provider;
|
|
22
|
-
};
|
|
23
|
+
});
|
|
23
24
|
this.getProvider = () => {
|
|
24
25
|
return this.sdk.getProvider();
|
|
25
26
|
};
|
|
26
|
-
this.getSigner =
|
|
27
|
+
this.getSigner = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
27
28
|
const sdkProvider = this.sdk.getProvider();
|
|
28
29
|
if (!sdkProvider) {
|
|
29
30
|
throw new Error('Provider is undefined');
|
|
30
31
|
}
|
|
31
32
|
const browserProvider = new ethers_1.BrowserProvider(sdkProvider);
|
|
32
|
-
return
|
|
33
|
-
};
|
|
34
|
-
this.getChainId =
|
|
33
|
+
return yield browserProvider.getSigner();
|
|
34
|
+
});
|
|
35
|
+
this.getChainId = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
36
|
const provider = this.getProvider();
|
|
36
37
|
if (!provider) {
|
|
37
38
|
throw new Error('Provider is undefined');
|
|
38
39
|
}
|
|
39
|
-
const hexChainId = (
|
|
40
|
+
const hexChainId = (yield provider.request({
|
|
40
41
|
method: 'eth_chainId',
|
|
41
42
|
params: [],
|
|
42
43
|
}));
|
|
43
44
|
const chainId = parseInt(hexChainId.toString(), 16);
|
|
44
45
|
return chainId;
|
|
45
|
-
};
|
|
46
|
-
this.switchNetwork =
|
|
46
|
+
});
|
|
47
|
+
this.switchNetwork = (chainName) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
var _a;
|
|
47
49
|
const network = chains_1.chains[chainName];
|
|
48
50
|
const provider = this.getProvider();
|
|
49
51
|
if (!provider)
|
|
@@ -51,7 +53,7 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
51
53
|
const hexNetworkId = (0, viem_1.toHex)(network.id);
|
|
52
54
|
try {
|
|
53
55
|
// Try to switch to the network
|
|
54
|
-
|
|
56
|
+
yield provider.request({
|
|
55
57
|
method: 'wallet_switchEthereumChain',
|
|
56
58
|
params: [{ chainId: hexNetworkId }],
|
|
57
59
|
});
|
|
@@ -60,7 +62,7 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
60
62
|
// If the error code is 4902, the network needs to be added
|
|
61
63
|
if (err.code === 4902) {
|
|
62
64
|
try {
|
|
63
|
-
|
|
65
|
+
yield provider.request({
|
|
64
66
|
method: 'wallet_addEthereumChain',
|
|
65
67
|
params: [
|
|
66
68
|
{
|
|
@@ -68,7 +70,7 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
68
70
|
chainName: network.name,
|
|
69
71
|
rpcUrls: network.rpcUrls.default.http,
|
|
70
72
|
nativeCurrency: network.nativeCurrency,
|
|
71
|
-
blockExplorerUrls: network.blockExplorers
|
|
73
|
+
blockExplorerUrls: (_a = network.blockExplorers) === null || _a === void 0 ? void 0 : _a.default.url,
|
|
72
74
|
},
|
|
73
75
|
],
|
|
74
76
|
});
|
|
@@ -83,14 +85,14 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
83
85
|
throw err;
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
|
-
};
|
|
87
|
-
this.signAndSendTransaction =
|
|
88
|
+
});
|
|
89
|
+
this.signAndSendTransaction = (txn) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
88
90
|
try {
|
|
89
91
|
const provider = this.getProvider();
|
|
90
92
|
if (!provider) {
|
|
91
93
|
throw new Error('Provider is undefined');
|
|
92
94
|
}
|
|
93
|
-
const accounts = (
|
|
95
|
+
const accounts = (yield provider.request({
|
|
94
96
|
method: 'eth_accounts',
|
|
95
97
|
}));
|
|
96
98
|
if (!accounts || accounts.length === 0) {
|
|
@@ -111,7 +113,7 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
111
113
|
? '0x' + parsed.maxFeePerGas.toString(16)
|
|
112
114
|
: undefined,
|
|
113
115
|
};
|
|
114
|
-
const signature =
|
|
116
|
+
const signature = yield provider.request({
|
|
115
117
|
method: 'eth_sendTransaction',
|
|
116
118
|
params: [txParams],
|
|
117
119
|
});
|
|
@@ -121,21 +123,21 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
121
123
|
console.error('MetaMask signing error:', error);
|
|
122
124
|
throw error;
|
|
123
125
|
}
|
|
124
|
-
};
|
|
125
|
-
this.signMessage =
|
|
126
|
+
});
|
|
127
|
+
this.signMessage = (message) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
128
|
try {
|
|
127
129
|
const provider = this.getProvider();
|
|
128
130
|
if (!provider) {
|
|
129
131
|
throw new Error('Provider is undefined');
|
|
130
132
|
}
|
|
131
|
-
const accounts = (
|
|
133
|
+
const accounts = (yield provider.request({
|
|
132
134
|
method: 'eth_accounts',
|
|
133
135
|
}));
|
|
134
136
|
if (!accounts || accounts.length === 0) {
|
|
135
137
|
throw new Error('No connected account');
|
|
136
138
|
}
|
|
137
139
|
const hexMessage = (0, viem_1.bytesToHex)(message);
|
|
138
|
-
const signature =
|
|
140
|
+
const signature = yield provider.request({
|
|
139
141
|
method: 'personal_sign',
|
|
140
142
|
params: [hexMessage, accounts[0]],
|
|
141
143
|
});
|
|
@@ -145,31 +147,28 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
145
147
|
console.error('MetaMask signing error:', error);
|
|
146
148
|
throw error;
|
|
147
149
|
}
|
|
148
|
-
};
|
|
149
|
-
this.signTypedData =
|
|
150
|
+
});
|
|
151
|
+
this.signTypedData = (typedData) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
150
152
|
try {
|
|
151
153
|
const provider = this.getProvider();
|
|
152
154
|
if (!provider) {
|
|
153
155
|
throw new Error('Provider is undefined');
|
|
154
156
|
}
|
|
155
|
-
const accounts = (
|
|
157
|
+
const accounts = (yield provider.request({
|
|
156
158
|
method: 'eth_accounts',
|
|
157
159
|
}));
|
|
158
160
|
if (!accounts || accounts.length === 0) {
|
|
159
161
|
throw new Error('No connected account');
|
|
160
162
|
}
|
|
161
|
-
typedData.types = {
|
|
162
|
-
EIP712Domain: [
|
|
163
|
+
typedData.types = Object.assign({ EIP712Domain: [
|
|
163
164
|
{ name: 'version', type: 'string' },
|
|
164
165
|
{ name: 'chainId', type: 'uint256' },
|
|
165
166
|
{ name: 'verifyingContract', type: 'address' },
|
|
166
|
-
],
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
: { UniversalPayload: typedData.types['UniversalPayload'] }),
|
|
170
|
-
};
|
|
167
|
+
] }, (typedData.primaryType === 'MigrationPayload'
|
|
168
|
+
? { MigrationPayload: typedData.types['MigrationPayload'] }
|
|
169
|
+
: { UniversalPayload: typedData.types['UniversalPayload'] }));
|
|
171
170
|
const safeTypedData = JSON.parse(JSON.stringify(typedData, (_key, value) => typeof value === 'bigint' ? value.toString() : value));
|
|
172
|
-
const signature =
|
|
171
|
+
const signature = yield provider.request({
|
|
173
172
|
method: 'eth_signTypedData_v4',
|
|
174
173
|
params: [accounts[0], JSON.stringify(safeTypedData)],
|
|
175
174
|
});
|
|
@@ -179,13 +178,13 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
179
178
|
console.error('MetaMask signing error:', error);
|
|
180
179
|
throw error;
|
|
181
180
|
}
|
|
182
|
-
};
|
|
183
|
-
this.disconnect =
|
|
181
|
+
});
|
|
182
|
+
this.disconnect = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
184
183
|
const provider = this.getProvider();
|
|
185
184
|
if (!provider) {
|
|
186
185
|
throw new Error('Provider is undefined');
|
|
187
186
|
}
|
|
188
|
-
|
|
187
|
+
yield provider.request({
|
|
189
188
|
method: 'wallet_revokePermissions',
|
|
190
189
|
params: [
|
|
191
190
|
{
|
|
@@ -193,27 +192,29 @@ class MetamaskProvider extends BaseWalletProvider_1.BaseWalletProvider {
|
|
|
193
192
|
},
|
|
194
193
|
],
|
|
195
194
|
});
|
|
196
|
-
};
|
|
195
|
+
});
|
|
197
196
|
this.sdk = new sdk_1.MetaMaskSDK({
|
|
198
197
|
dappMetadata: {
|
|
199
198
|
url: 'https://push.org/',
|
|
200
199
|
}
|
|
201
200
|
});
|
|
202
201
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
202
|
+
connect(chainType) {
|
|
203
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
try {
|
|
205
|
+
const accounts = yield this.sdk.connect();
|
|
206
|
+
const rawAddress = accounts[0];
|
|
207
|
+
const checksumAddress = (0, ethers_1.getAddress)(rawAddress);
|
|
208
|
+
yield this.switchNetwork(chainType);
|
|
209
|
+
const chainId = yield this.getChainId();
|
|
210
|
+
const addressincaip = this.formatAddress(checksumAddress, wallet_types_1.ChainType.ETHEREUM, chainId);
|
|
211
|
+
return addressincaip;
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
console.error('Failed to connect to MetaMask:', error);
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
});
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
exports.MetamaskProvider = MetamaskProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metamask.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/metamask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metamask.js","sourceRoot":"","sources":["../../../../../../../../packages/ui-kit/src/lib/providers/walletProviders/ethereum/metamask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseWalletProvider } from '../BaseWalletProvider';
|
|
2
|
+
import { ChainType, ITypedData } from '../../../types/wallet.types';
|
|
3
|
+
export declare class RabbyProvider extends BaseWalletProvider {
|
|
4
|
+
constructor();
|
|
5
|
+
isInstalled: () => Promise<boolean>;
|
|
6
|
+
private getProvider;
|
|
7
|
+
getSigner: () => Promise<import("ethers").JsonRpcSigner>;
|
|
8
|
+
getChainId: () => Promise<number>;
|
|
9
|
+
connect: (chainType: ChainType) => Promise<{
|
|
10
|
+
caipAddress: string;
|
|
11
|
+
}>;
|
|
12
|
+
switchNetwork: (chainName: ChainType) => Promise<void>;
|
|
13
|
+
signAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>;
|
|
14
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
15
|
+
signTypedData: (typedData: ITypedData) => Promise<Uint8Array>;
|
|
16
|
+
disconnect: () => Promise<void>;
|
|
17
|
+
}
|