@nexus-cross/connect-kit-react 1.1.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +15 -29
  2. package/dist/chunk-KM3ZTTHL.js +143 -0
  3. package/dist/client.d.ts +46 -0
  4. package/dist/client.js +1 -0
  5. package/dist/index.d.ts +378 -25
  6. package/dist/index.js +1 -12
  7. package/package.json +15 -6
  8. package/dist/components/ConnectButton.d.ts +0 -87
  9. package/dist/components/ConnectButton.d.ts.map +0 -1
  10. package/dist/components/ConnectButton.js +0 -417
  11. package/dist/components/ConnectButton.js.map +0 -1
  12. package/dist/components/CrossConnectKitProvider.d.ts +0 -38
  13. package/dist/components/CrossConnectKitProvider.d.ts.map +0 -1
  14. package/dist/components/CrossConnectKitProvider.js +0 -737
  15. package/dist/components/CrossConnectKitProvider.js.map +0 -1
  16. package/dist/components/CrossConnectModal.d.ts +0 -20
  17. package/dist/components/CrossConnectModal.d.ts.map +0 -1
  18. package/dist/components/CrossConnectModal.js +0 -80
  19. package/dist/components/CrossConnectModal.js.map +0 -1
  20. package/dist/components/OtherWalletsModal.d.ts +0 -20
  21. package/dist/components/OtherWalletsModal.d.ts.map +0 -1
  22. package/dist/components/OtherWalletsModal.js +0 -300
  23. package/dist/components/OtherWalletsModal.js.map +0 -1
  24. package/dist/components/WalletInfoPopover.d.ts +0 -7
  25. package/dist/components/WalletInfoPopover.d.ts.map +0 -1
  26. package/dist/components/WalletInfoPopover.js +0 -166
  27. package/dist/components/WalletInfoPopover.js.map +0 -1
  28. package/dist/components/types.d.ts +0 -23
  29. package/dist/components/types.d.ts.map +0 -1
  30. package/dist/components/types.js +0 -2
  31. package/dist/components/types.js.map +0 -1
  32. package/dist/context/CrossConnectKitContext.d.ts +0 -93
  33. package/dist/context/CrossConnectKitContext.d.ts.map +0 -1
  34. package/dist/context/CrossConnectKitContext.js +0 -10
  35. package/dist/context/CrossConnectKitContext.js.map +0 -1
  36. package/dist/context/CrossConnectKitThemeContext.d.ts +0 -41
  37. package/dist/context/CrossConnectKitThemeContext.d.ts.map +0 -1
  38. package/dist/context/CrossConnectKitThemeContext.js +0 -22
  39. package/dist/context/CrossConnectKitThemeContext.js.map +0 -1
  40. package/dist/hooks/useCrossxEmbeddedInfo.d.ts +0 -41
  41. package/dist/hooks/useCrossxEmbeddedInfo.d.ts.map +0 -1
  42. package/dist/hooks/useCrossxEmbeddedInfo.js +0 -241
  43. package/dist/hooks/useCrossxEmbeddedInfo.js.map +0 -1
  44. package/dist/index.d.ts.map +0 -1
  45. package/dist/index.js.map +0 -1
@@ -1,241 +0,0 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- import { useAccount } from 'wagmi';
3
- import { useCrossConnectKit } from '../context/CrossConnectKitContext.js';
4
- /**
5
- * crossy-sdk 2.0 세션 메타데이터(`getUserInfo().loginType`,
6
- * `getAddresses()[].name`)를 비동기로 읽어오는 훅.
7
- *
8
- * - `walletId`가 `"cross_embedded"`가 아니면 항상
9
- * `{ loginType: null, accountName: null, accounts: [], isResolved: true }`.
10
- * - 내부 호출은 연결된 Provider가 `sdk` 필드를 노출하는 crossy-sdk 스펙을
11
- * 가정하며, 필드가 없거나 에러가 나면 조용히 nulls로 떨어진다.
12
- * - RN native bridge가 walletChanged 이벤트로 보내주는 walletName(예: imported
13
- * wallet의 사용자 라벨)도 함께 구독해, SDK 서버 캐시 `name`보다 우선
14
- * accountName으로 사용한다.
15
- *
16
- * 인자 없이 호출하면 `useAccount()` / `useCrossConnectKit()`에서 값을 자동으로
17
- * 받아오고, 명시적으로 제어하고 싶으면 오버라이드 값을 넘길 수 있다.
18
- */
19
- export function useCrossxEmbeddedInfo(args) {
20
- const { address: autoAddress, connector: autoConnector } = useAccount();
21
- const { currentWallet: autoWalletId } = useCrossConnectKit();
22
- const walletId = args?.walletId !== undefined ? args.walletId : autoWalletId;
23
- const connector = args?.connector !== undefined ? args.connector : autoConnector;
24
- const address = args?.address !== undefined ? args.address : autoAddress;
25
- const [info, setInfo] = useState({
26
- loginType: null,
27
- accountName: null,
28
- accounts: [],
29
- isResolved: false,
30
- });
31
- // RN native bridge가 walletChanged 이벤트로 넘겨주는 wallet 라벨을 주소별로
32
- // 캐시한다. SDK `getAddresses()` 서버 캐시에는 이 라벨이 들어있지 않으므로
33
- // `addressChanged` 이벤트를 별도 구독해 보관한 뒤 accountName 해석 시 우선
34
- // 사용한다.
35
- const bridgeWalletNameRef = useRef(new Map());
36
- const [bridgeVersion, setBridgeVersion] = useState(0);
37
- useEffect(() => {
38
- let cancelled = false;
39
- if (walletId !== 'cross_embedded') {
40
- setInfo({
41
- loginType: null,
42
- accountName: null,
43
- accounts: [],
44
- isResolved: true,
45
- });
46
- return () => {
47
- cancelled = true;
48
- };
49
- }
50
- // embedded인데 wagmi 커넥터가 아직 준비되지 않은 시점(페이지 리로드 직후
51
- // auto-reconnect 중). 이 때 resolved=true로 단락하면 loginType 없이 CROSSx로
52
- // 폴백 → 이후 Google로 교체되는 플래시가 생긴다. 커넥터가 나타날 때까지
53
- // pending 상태를 유지한다.
54
- if (!connector) {
55
- setInfo({
56
- loginType: null,
57
- accountName: null,
58
- accounts: [],
59
- isResolved: false,
60
- });
61
- return () => {
62
- cancelled = true;
63
- };
64
- }
65
- // embedded 세션 + connector 준비됨: 매 의존성 변경마다 "해석 중"으로 리셋
66
- // 후 비동기 조회.
67
- setInfo((prev) => ({ ...prev, isResolved: false }));
68
- // 페이지 리로드 직후 `useAccount().connector`는 wagmi의 직렬화된 껍데기
69
- // 상태라 `connector.getProvider`가 아직 함수가 아니다. 또 getProvider가
70
- // 붙어서 호출해도 SDK 내부 세션 복원이 끝나기 전엔 `sdk.getUserInfo()`가
71
- // `null`을 돌려준다. 두 단계 모두 retryable로 취급해 loginType이
72
- // google/apple로 나올 때까지 짧게 폴링한다.
73
- const MAX_ATTEMPTS = 20;
74
- const INTERVAL_MS = 300;
75
- const attemptFetch = async () => {
76
- if (typeof connector.getProvider !== 'function')
77
- return 'retry';
78
- let provider;
79
- try {
80
- provider = (await connector.getProvider());
81
- }
82
- catch {
83
- return 'retry';
84
- }
85
- const sdk = provider?.sdk;
86
- if (!sdk)
87
- return 'giveup';
88
- // SDK 가 addressChanged 를 우리 hook 구독보다 먼저 emit 한 경우, RN bridge
89
- // 라벨을 놓칠 수 있다. SDK 가 노출하는 동기 getter 가 있으면 그것으로 cache 를
90
- // seed 해서 race 를 메운다. (이벤트 기반 path 와 둘 다 살아있어 idempotent.)
91
- try {
92
- const bridgeActive = sdk.getRNBridgeActiveWallet?.();
93
- const seedName = bridgeActive?.walletName?.trim();
94
- if (bridgeActive && seedName) {
95
- bridgeWalletNameRef.current.set(bridgeActive.address.toLowerCase(), seedName);
96
- }
97
- }
98
- catch {
99
- /* getter 가 없거나 throw 해도 무시 — 이벤트 path 가 살아있음 */
100
- }
101
- const [userInfo, addresses] = await Promise.all([
102
- sdk.getUserInfo?.().catch(() => null) ?? null,
103
- sdk.getAddresses?.().catch(() => null) ?? null,
104
- ]);
105
- if (cancelled)
106
- return 'done';
107
- const loginTypeRaw = userInfo?.loginType;
108
- const loginType = loginTypeRaw === 'google' || loginTypeRaw === 'apple'
109
- ? loginTypeRaw
110
- : null;
111
- if (!loginType)
112
- return 'retry';
113
- const normalized = address?.toLowerCase();
114
- const match = normalized && Array.isArray(addresses)
115
- ? addresses.find((e) => e.address.toLowerCase() === normalized)
116
- : null;
117
- const mappedAccounts = Array.isArray(addresses)
118
- ? addresses
119
- .filter((entry) => /^0x[a-fA-F0-9]{40}$/.test(entry.address))
120
- .map((entry) => ({
121
- address: entry.address.toLowerCase(),
122
- ...(Number.isFinite(entry.index) ? { index: entry.index } : {}),
123
- ...(entry.name?.trim() ? { name: entry.name.trim() } : {}),
124
- }))
125
- : [];
126
- // RN bridge가 walletChanged 이벤트로 보내준 라벨이 있으면 서버 캐시
127
- // `name`보다 우선 사용한다 — bridge 경로가 항상 최신 사용자 의도다.
128
- const bridgeName = normalized
129
- ? bridgeWalletNameRef.current.get(normalized)?.trim()
130
- : undefined;
131
- // 현재 active address(`useAccount`)가 SDK `getAddresses()` 목록에 없는
132
- // 경우 — 예: RN bridge가 외부 imported wallet으로 active wallet을 바꿔서
133
- // SDK 서버 캐시에 아직 없는 주소가 들어온 상황 — match가 null이라도
134
- // accountName이 null로 빠지지 않게 폴백을 적용하고, accounts 목록에도
135
- // raw address를 합성 엔트리로 추가해 SendPage 등 다른 소비자가 이 주소를
136
- // 인식할 수 있게 한다.
137
- const accounts = !match &&
138
- normalized &&
139
- /^0x[a-fA-F0-9]{40}$/.test(normalized)
140
- ? [
141
- ...mappedAccounts,
142
- {
143
- address: normalized,
144
- index: mappedAccounts.length,
145
- ...(bridgeName ? { name: bridgeName } : {}),
146
- },
147
- ]
148
- : mappedAccounts;
149
- // SDK는 사용자가 라벨을 지정한 경우에만 `name`을 채워준다. 비어 있을 때
150
- // dapp-ui 기본값("Account 1")로 떨어지면 실제 Account 1 / 다른 계정과 시각적
151
- // 으로 구분이 안 된다. 우선순위:
152
- // 1. RN bridge 가 보낸 walletName (imported wallet 라벨)
153
- // 2. 서버 캐시의 `name` (사용자가 지정한 라벨)
154
- // 3. 서버 캐시 매치된 인덱스 기반 "Account N" — 진짜 N번째 계정인 게
155
- // 확인된 경우만
156
- // 4. 매치가 없는 외부 주소(예: RN bridge active wallet 이 SDK 서버
157
- // 캐시에 없는 imported wallet) → 주소를 단축해서 표시. "Account 1"
158
- // 로 떨어뜨리면 실제 Account 1 과 충돌하므로 금지.
159
- const trimmedName = bridgeName || match?.name?.trim();
160
- const accountName = trimmedName ||
161
- (typeof match?.index === 'number'
162
- ? `Account ${match.index + 1}`
163
- : address
164
- ? `${address.slice(0, 6)}…${address.slice(-4)}`
165
- : null);
166
- setInfo({ loginType, accountName, accounts, isResolved: true });
167
- return 'done';
168
- };
169
- void (async () => {
170
- for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
171
- if (cancelled)
172
- return;
173
- const status = await attemptFetch();
174
- if (status === 'done')
175
- return;
176
- if (status === 'giveup') {
177
- if (!cancelled)
178
- setInfo({
179
- loginType: null,
180
- accountName: null,
181
- accounts: [],
182
- isResolved: true,
183
- });
184
- return;
185
- }
186
- await new Promise((resolve) => setTimeout(resolve, INTERVAL_MS));
187
- }
188
- // 타임아웃: 재시도 한도를 넘어서도 loginType이 안 나오면 CROSSx 폴백.
189
- if (!cancelled)
190
- setInfo({
191
- loginType: null,
192
- accountName: null,
193
- accounts: [],
194
- isResolved: true,
195
- });
196
- })();
197
- return () => {
198
- cancelled = true;
199
- };
200
- }, [walletId, connector, address, bridgeVersion]);
201
- // SDK `addressChanged` 이벤트를 구독해 RN bridge로 들어오는 walletName을
202
- // 주소별 캐시에 보관한다. 이 effect는 sdk 인스턴스(=connector) 단위로 한 번만
203
- // 구독을 유지하므로 address 변경에는 의존하지 않는다.
204
- useEffect(() => {
205
- if (walletId !== 'cross_embedded' || !connector)
206
- return;
207
- if (typeof connector.getProvider !== 'function')
208
- return;
209
- let cancelled = false;
210
- let unsubscribe;
211
- void (async () => {
212
- let provider;
213
- try {
214
- provider = (await connector.getProvider());
215
- }
216
- catch {
217
- return;
218
- }
219
- if (cancelled)
220
- return;
221
- const sdk = provider?.sdk;
222
- if (!sdk?.on)
223
- return;
224
- unsubscribe = sdk.on('addressChanged', ({ address: addr, walletName }) => {
225
- const name = walletName?.trim();
226
- if (!name)
227
- return;
228
- bridgeWalletNameRef.current.set(addr.toLowerCase(), name);
229
- // 메인 resolution effect를 재실행시켜 새 walletName이 accountName에
230
- // 반영되도록 한다.
231
- setBridgeVersion((v) => v + 1);
232
- });
233
- })();
234
- return () => {
235
- cancelled = true;
236
- unsubscribe?.();
237
- };
238
- }, [walletId, connector]);
239
- return info;
240
- }
241
- //# sourceMappingURL=useCrossxEmbeddedInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossxEmbeddedInfo.js","sourceRoot":"","sources":["../../src/hooks/useCrossxEmbeddedInfo.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAClD,YAAY,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAO9B,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,EACT,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAU/D,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAiCpD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC"}