@gluwa/connect-kit 0.1.0-next.3 → 0.2.0-next.3
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/CHANGELOG.md +17 -0
- package/assets/creditwallet.png +0 -0
- package/assets/fonts/Inter-Medium.ttf +0 -0
- package/assets/fonts/Inter-Medium.woff2 +0 -0
- package/assets/fonts/Inter-Regular.ttf +0 -0
- package/assets/fonts/Inter-Regular.woff2 +0 -0
- package/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/assets/fonts/Inter-SemiBold.woff2 +0 -0
- package/assets/graphic.png +0 -0
- package/assets/metamask.png +0 -0
- package/assets/wc-logo.svg +3 -0
- package/assets/wc-search.png +0 -0
- package/dist/chunk-EDNRW47A.js +401 -0
- package/dist/credit-connect.js +2 -394
- package/dist/index.css +2074 -0
- package/dist/index.d.ts +53 -33
- package/dist/index.js +1404 -1504
- package/dist/package.json +16 -10
- package/package.json +14 -11
- package/src/ConnectKitProvider.tsx +126 -75
- package/src/api/account.ts +21 -0
- package/src/api/balance.ts +10 -0
- package/src/api/chain.ts +17 -0
- package/src/api/contract.ts +33 -0
- package/src/api/transaction.ts +12 -0
- package/src/assets.d.ts +5 -0
- package/src/components/actionItem/index.tsx +50 -0
- package/src/components/actionItem/style.scss +47 -0
- package/src/components/copyLink/index.tsx +16 -0
- package/src/components/copyLink/style.scss +16 -0
- package/src/components/qrArea/index.tsx +70 -0
- package/src/components/qrArea/style.scss +130 -0
- package/src/components/searchBar/asset/Search.tsx +20 -0
- package/src/components/searchBar/asset/XMarkCircle.tsx +24 -0
- package/src/components/searchBar/index.tsx +44 -0
- package/src/components/searchBar/style.scss +58 -0
- package/src/components/snackbar/index.tsx +25 -0
- package/src/components/snackbar/style.scss +51 -0
- package/src/components/toggle/index.tsx +27 -0
- package/src/components/toggle/style.scss +53 -0
- package/src/components/walletGrid/index.tsx +64 -0
- package/src/components/walletGrid/style.scss +108 -0
- package/src/components/walletItem/index.tsx +49 -0
- package/src/components/walletItem/style.scss +70 -0
- package/src/connector-meta.ts +12 -7
- package/src/core/config.ts +102 -0
- package/src/creditConnectConnector.ts +192 -184
- package/src/events/account.ts +49 -0
- package/src/hooks/useWCState.ts +45 -13
- package/src/hooks/useWagmiConnect.ts +13 -9
- package/src/index.ts +35 -2
- package/src/layout/allWallets/index.tsx +52 -0
- package/src/layout/allWallets/style.scss +62 -0
- package/src/layout/connectDialog/asset/backIcon.tsx +24 -0
- package/src/layout/connectDialog/asset/checkIcon.tsx +28 -0
- package/src/layout/connectDialog/asset/closeIcon.tsx +21 -0
- package/src/layout/connectDialog/asset/copyIcon.tsx +28 -0
- package/src/layout/connectDialog/asset/linkIcon.tsx +24 -0
- package/src/layout/connectDialog/asset/spinner.tsx +21 -0
- package/src/layout/connectDialog/idle/index.tsx +32 -0
- package/src/layout/connectDialog/idle/style.scss +61 -0
- package/src/layout/connectDialog/index.tsx +286 -0
- package/src/layout/connectDialog/loading/index.tsx +13 -0
- package/src/layout/connectDialog/loading/style.scss +19 -0
- package/src/layout/connectDialog/metaMask/index.tsx +61 -0
- package/src/layout/connectDialog/metaMask/style.scss +65 -0
- package/src/layout/connectDialog/qr/index.tsx +33 -0
- package/src/layout/connectDialog/style.scss +95 -0
- package/src/layout/connectDialog/timeout/index.tsx +31 -0
- package/src/layout/connectDialog/timeout/style.scss +64 -0
- package/src/layout/connectDialog/walletConnect/index.tsx +45 -0
- package/src/layout/connectDialog/walletConnect/style.scss +48 -0
- package/src/layout/connectDialog/walletQR/index.tsx +37 -0
- package/src/layout/detailPanel/index.tsx +147 -0
- package/src/layout/detailPanel/style.scss +64 -0
- package/src/layout/selectorPanel/index.tsx +100 -0
- package/src/layout/selectorPanel/style.scss +113 -0
- package/src/style/color.scss +417 -0
- package/src/style/font.scss +28 -0
- package/src/style/index.scss +5 -0
- package/src/style/mixin.scss +217 -0
- package/src/style/reset.scss +110 -0
- package/src/style/variables.scss +13 -0
- package/src/types.ts +19 -7
- package/src/utils/platform.ts +7 -4
- package/tsup.config.ts +32 -2
- package/dist/chunk-DDA6FP6U.js +0 -7
- package/src/ConnectModal.scss +0 -665
- package/src/ConnectModal.tsx +0 -559
- package/src/components/QRFrame.tsx +0 -43
- package/src/views/CreditWalletView.tsx +0 -59
- package/src/views/IdleView.tsx +0 -10
- package/src/views/MetaMaskView.tsx +0 -64
- package/src/views/SwitchChainView.tsx +0 -67
- package/src/views/WalletConnectView.tsx +0 -206
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
1
|
+
import * as viem from 'viem';
|
|
2
|
+
import { Abi, ContractFunctionName, ContractFunctionArgs, Chain, Transport } from 'viem';
|
|
3
|
+
import * as _wagmi_core from '@wagmi/core';
|
|
4
|
+
import { ReadContractParameters, Config, ReadContractReturnType, WriteContractParameters, WriteContractReturnType } from '@wagmi/core';
|
|
5
|
+
export * from '@wagmi/core';
|
|
1
6
|
import { ReactNode, FC } from 'react';
|
|
2
|
-
import { Config } from 'wagmi';
|
|
7
|
+
import { CreateConnectorFn, Config as Config$1 } from 'wagmi';
|
|
3
8
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
declare function readContract<const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, 'pure' | 'view'>, args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>>(parameters: ReadContractParameters<abi, functionName, args, Config>): Promise<ReadContractReturnType<abi, functionName, args>>;
|
|
10
|
+
declare function writeContract<const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>, args extends ContractFunctionArgs<abi, 'nonpayable' | 'payable', functionName>>(parameters: WriteContractParameters<abi, functionName, args, Config>): Promise<WriteContractReturnType>;
|
|
11
|
+
|
|
12
|
+
type ConnectorId = 'CREDIT_CONNECT' | 'METAMASK' | 'WALLET_CONNECT';
|
|
13
|
+
interface ConnectKitConfig {
|
|
14
|
+
chains: [Chain, ...Chain[]];
|
|
15
|
+
transports: Record<number, Transport>;
|
|
16
|
+
wcProjectId?: string;
|
|
17
|
+
creditConnect?: {
|
|
18
|
+
projectId: string;
|
|
19
|
+
serverUrl: string;
|
|
20
|
+
};
|
|
21
|
+
extraConnectors?: CreateConnectorFn[];
|
|
10
22
|
}
|
|
23
|
+
type ConnectorKey = 'creditWallet' | 'metamask' | 'walletConnect';
|
|
24
|
+
type Connectors = readonly ConnectorKey[];
|
|
11
25
|
interface WCWallet {
|
|
12
26
|
id: string;
|
|
13
27
|
name: string;
|
|
@@ -21,6 +35,7 @@ interface WCWallet {
|
|
|
21
35
|
homepage: string;
|
|
22
36
|
}
|
|
23
37
|
type WCSubView = 'qr' | 'list' | 'wallet';
|
|
38
|
+
type ConnectKitTheme = 'light' | 'dark';
|
|
24
39
|
interface ConnectResult {
|
|
25
40
|
address: `0x${string}`;
|
|
26
41
|
connectorId: ConnectorId;
|
|
@@ -41,47 +56,30 @@ interface ConnectModalProps {
|
|
|
41
56
|
onLog?: (message: string, error?: Error) => void;
|
|
42
57
|
wcProjectId?: string;
|
|
43
58
|
requiredChainId?: number;
|
|
59
|
+
theme: ConnectKitTheme;
|
|
44
60
|
renderConnectError?: (ctx: ConnectErrorContext) => ReactNode;
|
|
45
61
|
}
|
|
46
62
|
|
|
47
|
-
declare const ConnectModal: FC<ConnectModalProps>;
|
|
48
|
-
|
|
49
63
|
interface ConnectKitProviderProps {
|
|
50
64
|
children: ReactNode;
|
|
65
|
+
kitConfig?: ConnectKitConfig;
|
|
51
66
|
connectors: Connectors;
|
|
52
|
-
wcProjectId?: string;
|
|
53
|
-
/**
|
|
54
|
-
* 연결돼 있는 동안 강제할 체인 ID. 다른 체인에 연결돼 있으면
|
|
55
|
-
* 자동으로 스위치 모달이 떠서 사용자에게 전환 또는 disconnect를 요구.
|
|
56
|
-
*/
|
|
57
67
|
requiredChainId?: number;
|
|
58
|
-
|
|
59
|
-
* 연결이 정상적으로 끝나고(체인 검증까지 통과) "사용 가능한 상태"가 됐을 때 한 번 호출.
|
|
60
|
-
* 재연결(reconnect)에서는 호출되지 않음 — 그쪽은 dApp의 watchAccount 책임.
|
|
61
|
-
*/
|
|
68
|
+
theme: ConnectKitTheme;
|
|
62
69
|
onConnect?: (result: ConnectResult) => void;
|
|
63
70
|
onLog?: (message: string, error?: Error) => void;
|
|
64
|
-
/**
|
|
65
|
-
* 연결 실패(거절/미설치/기타) 시 모달 안에 표시할 fallback UI를 dApp이 직접 그리고 싶을 때.
|
|
66
|
-
* 미제공 시 기본 동작은 selector로 복귀.
|
|
67
|
-
*/
|
|
68
71
|
renderConnectError?: (ctx: ConnectErrorContext) => ReactNode;
|
|
69
|
-
/**
|
|
70
|
-
* 기존 프로젝트 통합용. wagmi config를 넘기면 ConnectKitProvider 내부에서
|
|
71
|
-
* WagmiProvider를 직접 세운다.
|
|
72
|
-
*
|
|
73
|
-
* - 기존 프로젝트: 앱에 WagmiProvider가 없으므로 wagmiConfig를 넘긴다.
|
|
74
|
-
* ConnectKitProvider가 같은 config 인스턴스로 WagmiProvider를 셀프 마운트하므로
|
|
75
|
-
* 기존 wagmi 상태 store와 단일 config를 공유한다.
|
|
76
|
-
* - 신규 프로젝트: 앱이 이미 WagmiProvider를 감싸므로 이 prop은 불필요하다.
|
|
77
|
-
*/
|
|
78
|
-
wagmiConfig?: Config;
|
|
79
72
|
}
|
|
80
73
|
interface ConnectKitContextValue {
|
|
81
74
|
isOpen: boolean;
|
|
82
75
|
open: () => void;
|
|
83
76
|
close: () => void;
|
|
84
77
|
isConnected: boolean;
|
|
78
|
+
needsChainSwitch: boolean;
|
|
79
|
+
requiredChainId: number | undefined;
|
|
80
|
+
currentChainId: number | undefined;
|
|
81
|
+
isSwitchingChain: boolean;
|
|
82
|
+
switchToRequiredChain: () => Promise<void>;
|
|
85
83
|
address: `0x${string}` | undefined;
|
|
86
84
|
connectorId: ConnectorId | null;
|
|
87
85
|
disconnect: () => Promise<void>;
|
|
@@ -89,4 +87,26 @@ interface ConnectKitContextValue {
|
|
|
89
87
|
declare const ConnectKitProvider: FC<ConnectKitProviderProps>;
|
|
90
88
|
declare const useConnectKit: () => ConnectKitContextValue;
|
|
91
89
|
|
|
92
|
-
|
|
90
|
+
declare const initConfig: (kitConfig: ConnectKitConfig) => Config$1;
|
|
91
|
+
|
|
92
|
+
declare const connectKit: {
|
|
93
|
+
readonly api: {
|
|
94
|
+
readonly readContract: typeof readContract;
|
|
95
|
+
readonly writeContract: typeof writeContract;
|
|
96
|
+
readonly getBalance: (params: _wagmi_core.GetBalanceParameters) => Promise<_wagmi_core.GetBalanceReturnType>;
|
|
97
|
+
readonly switchChain: (params: _wagmi_core.SwitchChainParameters) => Promise<viem.Chain>;
|
|
98
|
+
readonly getPublicClient: (params?: _wagmi_core.GetPublicClientParameters) => _wagmi_core.GetPublicClientReturnType;
|
|
99
|
+
readonly waitForTransactionReceipt: (params: _wagmi_core.WaitForTransactionReceiptParameters) => Promise<_wagmi_core.WaitForTransactionReceiptReturnType>;
|
|
100
|
+
readonly getAccount: () => _wagmi_core.GetAccountReturnType;
|
|
101
|
+
readonly signMessage: (params: _wagmi_core.SignMessageParameters) => Promise<`0x${string}`>;
|
|
102
|
+
readonly signTypedData: (params: _wagmi_core.SignTypedDataParameters) => Promise<`0x${string}`>;
|
|
103
|
+
};
|
|
104
|
+
readonly events: {
|
|
105
|
+
readonly watchAccount: (params: _wagmi_core.WatchAccountParameters) => (() => void);
|
|
106
|
+
readonly watchConnections: (params: _wagmi_core.WatchConnectionsParameters) => (() => void);
|
|
107
|
+
readonly reconnect: () => Promise<_wagmi_core.ReconnectReturnType>;
|
|
108
|
+
readonly disconnectAll: (onLog?: (message: string, error?: Error) => void) => Promise<void>;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export { type ConnectErrorContext, type ConnectErrorReason, type ConnectKitConfig, type ConnectKitContextValue, ConnectKitProvider, type ConnectKitProviderProps, type ConnectKitTheme, type ConnectModalProps, type ConnectResult, type ConnectorId, type ConnectorKey, type Connectors, type WCSubView, type WCWallet, connectKit, initConfig, useConnectKit };
|