@matchain/matchid-sdk-react 0.1.37-alpha.2 → 0.1.37-alpha.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.
Files changed (60) hide show
  1. package/dist/assets/icon/index.d.mts +123 -0
  2. package/dist/assets/icon/index.d.ts +123 -0
  3. package/dist/assets/icon/index.js +1055 -0
  4. package/dist/assets/icon/index.js.map +1 -0
  5. package/dist/assets/icon/index.mjs +82 -0
  6. package/dist/assets/icon/index.mjs.map +1 -0
  7. package/dist/chunk-HYQ3T6WW.mjs +79 -0
  8. package/dist/chunk-HYQ3T6WW.mjs.map +1 -0
  9. package/dist/chunk-J5LGTIGS.mjs +10 -0
  10. package/dist/chunk-J5LGTIGS.mjs.map +1 -0
  11. package/dist/chunk-J6EA7OSJ.mjs +992 -0
  12. package/dist/chunk-J6EA7OSJ.mjs.map +1 -0
  13. package/dist/chunk-MZB76VOE.mjs +93 -0
  14. package/dist/chunk-MZB76VOE.mjs.map +1 -0
  15. package/dist/chunk-YCRZLAOS.mjs +3709 -0
  16. package/dist/chunk-YCRZLAOS.mjs.map +1 -0
  17. package/dist/components/index.d.mts +4 -0
  18. package/dist/components/index.d.ts +4 -0
  19. package/dist/components/index.js +3352 -0
  20. package/dist/components/index.js.map +1 -0
  21. package/dist/components/index.mjs +39 -0
  22. package/dist/components/index.mjs.map +1 -0
  23. package/dist/config/chains/index.d.mts +2 -0
  24. package/dist/config/chains/index.d.ts +2 -0
  25. package/dist/config/chains/index.js +94 -0
  26. package/dist/config/chains/index.js.map +1 -0
  27. package/dist/config/chains/index.mjs +10 -0
  28. package/dist/config/chains/index.mjs.map +1 -0
  29. package/dist/hooks/api/index.d.mts +5 -0
  30. package/dist/hooks/api/index.d.ts +5 -0
  31. package/dist/hooks/api/index.js +1010 -0
  32. package/dist/hooks/api/index.js.map +1 -0
  33. package/dist/hooks/api/index.mjs +14 -0
  34. package/dist/hooks/api/index.mjs.map +1 -0
  35. package/dist/hooks/index.d.mts +4 -0
  36. package/dist/hooks/index.d.ts +4 -0
  37. package/dist/hooks/index.js +1055 -0
  38. package/dist/hooks/index.js.map +1 -0
  39. package/dist/hooks/index.mjs +17 -0
  40. package/dist/hooks/index.mjs.map +1 -0
  41. package/dist/index-BFn-HCRJ.d.ts +64 -0
  42. package/dist/index-BTTka3Uo.d.mts +75 -0
  43. package/dist/index-BdeWio3u.d.mts +64 -0
  44. package/dist/index-CfipOX1C.d.ts +83 -0
  45. package/dist/index-DUCRzr-P.d.ts +75 -0
  46. package/dist/index-DXRGMAbv.d.mts +83 -0
  47. package/dist/index-DXRGMAbv.d.ts +83 -0
  48. package/dist/index-Dq1vYJ0E.d.mts +83 -0
  49. package/dist/index.css +7 -0
  50. package/dist/index.d.mts +12 -436
  51. package/dist/index.d.ts +12 -436
  52. package/dist/index.js +1185 -297
  53. package/dist/index.js.map +1 -1
  54. package/dist/index.mjs +13 -3682
  55. package/dist/index.mjs.map +1 -1
  56. package/dist/types.d-Cqt8ifXa.d.mts +176 -0
  57. package/dist/types.d-Cqt8ifXa.d.ts +176 -0
  58. package/example/src/config/index.ts +6 -1
  59. package/example/src/pages/User.tsx +12 -3
  60. package/package.json +23 -2
@@ -0,0 +1,176 @@
1
+ import { CSSProperties, PropsWithChildren, ReactNode } from 'react';
2
+
3
+ type ISocialLoginMethod =
4
+ 'google'
5
+ | 'twitter'
6
+ | 'discord'
7
+ | 'github'
8
+ | 'telegram'
9
+ | 'linkedin'
10
+ | 'facebook'
11
+ | 'youtube'
12
+ type WalletType = 'evm' | 'sol' | 'tron' | 'btc'
13
+ type LoginMethodType = WalletType | 'email' | ISocialLoginMethod
14
+ type CEXType = "Gate" | "Coinbase" | "Kucoin" | 'Bitget' | 'OKX' | 'Bybit' | 'Binance'
15
+ type OtherLoginMethodType = 'email' | ISocialLoginMethod
16
+ type RecommendLoginMethodType = 'wallet' | 'email' | ISocialLoginMethod
17
+ type IEnvConfigType = {
18
+ endpoints: {
19
+ back: string;
20
+ auth: string;
21
+ };
22
+ }
23
+ type IMatchEvents = {
24
+ onLogin?: (data: {
25
+ mid?: string;
26
+ token: string;
27
+ did: string
28
+ }) => void
29
+ onLogout?: () => void,
30
+ onBind?: (data: {
31
+ type: string
32
+ }) => void
33
+ }
34
+
35
+ type OverviewInfo = {
36
+ score: number,
37
+ total_assets: number,
38
+ wallets: number,
39
+ followers: number,
40
+ sbt: number,
41
+ is_kyc: boolean,
42
+ is_poh: boolean,
43
+ mid: string
44
+ user_identity: string
45
+ identities: { [key: string]: string }
46
+ did: string
47
+ address: string
48
+ username?: string
49
+ }
50
+
51
+ type IconProps = {
52
+ color?: string,
53
+ size?: number | string,
54
+ width?: number | string,
55
+ height?: number | string,
56
+ style?: CSSProperties
57
+ className?: string
58
+ onClick?: (e?: any) => void
59
+ }
60
+
61
+ type ModalProps = PropsWithChildren & {
62
+ isOpen: boolean,
63
+ width?: number
64
+ className?: string
65
+ zIndex?: number
66
+ }
67
+
68
+ type ModalWithHeaderProps = ModalProps & {
69
+ onBack?: () => void,
70
+ onClose?: () => void,
71
+ title?: string
72
+ showClose?: boolean
73
+ showBorder?: boolean
74
+ }
75
+
76
+ type InputProps = {
77
+ placeholder?: string,
78
+ value?: string,
79
+ onChange?: (e?: any) => void,
80
+ disabled?: boolean,
81
+ readonly?: boolean
82
+ type?: string
83
+ maxLength?: number
84
+ className?: string
85
+ after?: React.ReactNode
86
+ }
87
+
88
+ type LoginBoxProps = {
89
+ methods?: OtherLoginMethodType[],
90
+ inModal?: boolean
91
+ recommendMethods?: RecommendLoginMethodType[]
92
+ walletMethods?: WalletType[]
93
+ }
94
+ type LoginPanelProps = {
95
+ header?: React.ReactNode
96
+ onClose?: () => void
97
+ } & LoginBoxProps
98
+ type LoginModalProps = LoginPanelProps & ModalProps
99
+ type EmailModalProps = ModalProps & {
100
+ onClose?: () => void,
101
+ onBack?: () => void,
102
+ onLogin?: () => void
103
+ }
104
+ type ButtonProps = {
105
+ size?: 'sm' | 'df' | 'lg',
106
+ type?: "button" | "submit" | "reset",
107
+ rounded?: boolean,
108
+ block?: boolean,
109
+ disabled?: boolean,
110
+ loading?: boolean,
111
+ children?: React.ReactNode,
112
+ onClick?: () => void,
113
+ highlight?: boolean,
114
+ style?: CSSProperties
115
+ className?: string
116
+ }
117
+
118
+ type BindItemType = {
119
+ type: string,
120
+ type_sort: string,
121
+ platform_name: string,
122
+ platform_id: number,
123
+ platform_uid: string,
124
+ platform_nickname: string,
125
+ platform_status: number
126
+ }
127
+
128
+ type PohItemType = {
129
+ user_id: number,
130
+ poh_market_id: number,
131
+ image_type: string,
132
+ category: string,
133
+ name: string,
134
+ app_id: string,
135
+ schema_id: string,
136
+ active: boolean,
137
+ }
138
+
139
+ type BindInfoType = {
140
+ progress_count: number,
141
+ progress_current: number,
142
+ total_assets: number,
143
+ wallet_count: number,
144
+ wallet_current: number,
145
+ cex_count: number,
146
+ cex_current: number,
147
+ social_count: number,
148
+ social_current: number,
149
+ others_count: number,
150
+ others_current: number,
151
+ }
152
+
153
+ type PohZkpassParams = {
154
+ taskId: string,
155
+ schemaId: string,
156
+ publicFields: any,
157
+ allocatorAddress: string,
158
+ publicFieldsHash: string,
159
+ allocatorSignature: string,
160
+ uHash: string,
161
+ validatorAddress: string,
162
+ validatorSignature: string,
163
+ }
164
+ type PopoverPositionType = "center" | "left" | "right"
165
+ type PopoverTypeType = "hover" | "click"
166
+ type PopoverProps = PropsWithChildren & {
167
+ position?: PopoverPositionType
168
+ type?: PopoverTypeType
169
+ content: ReactNode,
170
+ className?: string,
171
+ gap?: number | string
172
+ }
173
+
174
+ type LocaleType = "en" | "zh" | "tw" | "fr" | "ja" | "ko" | "vi" | "es" | "pt"
175
+
176
+ export type { ButtonProps as B, CEXType as C, EmailModalProps as E, IMatchEvents as I, LocaleType as L, ModalProps as M, OverviewInfo as O, PopoverProps as P, RecommendLoginMethodType as R, WalletType as W, IEnvConfigType as a, ISocialLoginMethod as b, LoginMethodType as c, InputProps as d, ModalWithHeaderProps as e, LoginBoxProps as f, OtherLoginMethodType as g, PopoverPositionType as h, PopoverTypeType as i, LoginPanelProps as j, LoginModalProps as k, IconProps as l, PohZkpassParams as m, BindItemType as n, BindInfoType as o, PohItemType as p };
@@ -0,0 +1,176 @@
1
+ import { CSSProperties, PropsWithChildren, ReactNode } from 'react';
2
+
3
+ type ISocialLoginMethod =
4
+ 'google'
5
+ | 'twitter'
6
+ | 'discord'
7
+ | 'github'
8
+ | 'telegram'
9
+ | 'linkedin'
10
+ | 'facebook'
11
+ | 'youtube'
12
+ type WalletType = 'evm' | 'sol' | 'tron' | 'btc'
13
+ type LoginMethodType = WalletType | 'email' | ISocialLoginMethod
14
+ type CEXType = "Gate" | "Coinbase" | "Kucoin" | 'Bitget' | 'OKX' | 'Bybit' | 'Binance'
15
+ type OtherLoginMethodType = 'email' | ISocialLoginMethod
16
+ type RecommendLoginMethodType = 'wallet' | 'email' | ISocialLoginMethod
17
+ type IEnvConfigType = {
18
+ endpoints: {
19
+ back: string;
20
+ auth: string;
21
+ };
22
+ }
23
+ type IMatchEvents = {
24
+ onLogin?: (data: {
25
+ mid?: string;
26
+ token: string;
27
+ did: string
28
+ }) => void
29
+ onLogout?: () => void,
30
+ onBind?: (data: {
31
+ type: string
32
+ }) => void
33
+ }
34
+
35
+ type OverviewInfo = {
36
+ score: number,
37
+ total_assets: number,
38
+ wallets: number,
39
+ followers: number,
40
+ sbt: number,
41
+ is_kyc: boolean,
42
+ is_poh: boolean,
43
+ mid: string
44
+ user_identity: string
45
+ identities: { [key: string]: string }
46
+ did: string
47
+ address: string
48
+ username?: string
49
+ }
50
+
51
+ type IconProps = {
52
+ color?: string,
53
+ size?: number | string,
54
+ width?: number | string,
55
+ height?: number | string,
56
+ style?: CSSProperties
57
+ className?: string
58
+ onClick?: (e?: any) => void
59
+ }
60
+
61
+ type ModalProps = PropsWithChildren & {
62
+ isOpen: boolean,
63
+ width?: number
64
+ className?: string
65
+ zIndex?: number
66
+ }
67
+
68
+ type ModalWithHeaderProps = ModalProps & {
69
+ onBack?: () => void,
70
+ onClose?: () => void,
71
+ title?: string
72
+ showClose?: boolean
73
+ showBorder?: boolean
74
+ }
75
+
76
+ type InputProps = {
77
+ placeholder?: string,
78
+ value?: string,
79
+ onChange?: (e?: any) => void,
80
+ disabled?: boolean,
81
+ readonly?: boolean
82
+ type?: string
83
+ maxLength?: number
84
+ className?: string
85
+ after?: React.ReactNode
86
+ }
87
+
88
+ type LoginBoxProps = {
89
+ methods?: OtherLoginMethodType[],
90
+ inModal?: boolean
91
+ recommendMethods?: RecommendLoginMethodType[]
92
+ walletMethods?: WalletType[]
93
+ }
94
+ type LoginPanelProps = {
95
+ header?: React.ReactNode
96
+ onClose?: () => void
97
+ } & LoginBoxProps
98
+ type LoginModalProps = LoginPanelProps & ModalProps
99
+ type EmailModalProps = ModalProps & {
100
+ onClose?: () => void,
101
+ onBack?: () => void,
102
+ onLogin?: () => void
103
+ }
104
+ type ButtonProps = {
105
+ size?: 'sm' | 'df' | 'lg',
106
+ type?: "button" | "submit" | "reset",
107
+ rounded?: boolean,
108
+ block?: boolean,
109
+ disabled?: boolean,
110
+ loading?: boolean,
111
+ children?: React.ReactNode,
112
+ onClick?: () => void,
113
+ highlight?: boolean,
114
+ style?: CSSProperties
115
+ className?: string
116
+ }
117
+
118
+ type BindItemType = {
119
+ type: string,
120
+ type_sort: string,
121
+ platform_name: string,
122
+ platform_id: number,
123
+ platform_uid: string,
124
+ platform_nickname: string,
125
+ platform_status: number
126
+ }
127
+
128
+ type PohItemType = {
129
+ user_id: number,
130
+ poh_market_id: number,
131
+ image_type: string,
132
+ category: string,
133
+ name: string,
134
+ app_id: string,
135
+ schema_id: string,
136
+ active: boolean,
137
+ }
138
+
139
+ type BindInfoType = {
140
+ progress_count: number,
141
+ progress_current: number,
142
+ total_assets: number,
143
+ wallet_count: number,
144
+ wallet_current: number,
145
+ cex_count: number,
146
+ cex_current: number,
147
+ social_count: number,
148
+ social_current: number,
149
+ others_count: number,
150
+ others_current: number,
151
+ }
152
+
153
+ type PohZkpassParams = {
154
+ taskId: string,
155
+ schemaId: string,
156
+ publicFields: any,
157
+ allocatorAddress: string,
158
+ publicFieldsHash: string,
159
+ allocatorSignature: string,
160
+ uHash: string,
161
+ validatorAddress: string,
162
+ validatorSignature: string,
163
+ }
164
+ type PopoverPositionType = "center" | "left" | "right"
165
+ type PopoverTypeType = "hover" | "click"
166
+ type PopoverProps = PropsWithChildren & {
167
+ position?: PopoverPositionType
168
+ type?: PopoverTypeType
169
+ content: ReactNode,
170
+ className?: string,
171
+ gap?: number | string
172
+ }
173
+
174
+ type LocaleType = "en" | "zh" | "tw" | "fr" | "ja" | "ko" | "vi" | "es" | "pt"
175
+
176
+ export type { ButtonProps as B, CEXType as C, EmailModalProps as E, IMatchEvents as I, LocaleType as L, ModalProps as M, OverviewInfo as O, PopoverProps as P, RecommendLoginMethodType as R, WalletType as W, IEnvConfigType as a, ISocialLoginMethod as b, LoginMethodType as c, InputProps as d, ModalWithHeaderProps as e, LoginBoxProps as f, OtherLoginMethodType as g, PopoverPositionType as h, PopoverTypeType as i, LoginPanelProps as j, LoginModalProps as k, IconProps as l, PohZkpassParams as m, BindItemType as n, BindInfoType as o, PohItemType as p };
@@ -1,6 +1,8 @@
1
1
  export const LoginMethod = [
2
2
  'evm',
3
3
  'sol',
4
+ 'tron',
5
+ 'btc',
4
6
  'twitter',
5
7
  'google',
6
8
  'telegram',
@@ -12,4 +14,7 @@ export const LoginMethod = [
12
14
  ]
13
15
  export const LocaleList = [
14
16
  "en", "zh", "tw", "fr", "ja", "ko", "vi", "es", "pt"
15
- ]
17
+ ]
18
+
19
+ export const CEXList = [
20
+ "Gate", "Coinbase", "Kucoin", 'Bitget', 'OKX', 'Bybit', 'Binance']
@@ -1,7 +1,7 @@
1
1
  import {Hooks, Components, Api} from "@matchain/matchid-sdk-react"
2
2
  import React from "react";
3
3
  import RoutePrivate from "../components/RoutePrivate";
4
- import {LoginMethod} from "@/config";
4
+ import {CEXList, LoginMethod} from "@/config";
5
5
  import {LoginMethodType} from "../../../src/types/types";
6
6
 
7
7
  const {useMatchEvents, useUserInfo, useWallet} = Hooks
@@ -50,7 +50,8 @@ function LoginContent() {
50
50
  did,
51
51
  address,
52
52
  bind,
53
- auth
53
+ auth,
54
+ bindCex
54
55
  } = useUserInfo();
55
56
  const [usernameOpen, setUsernameOpen] = React.useState(false)
56
57
  const [passwordOpen, setPasswordOpen] = React.useState(false)
@@ -97,7 +98,6 @@ function LoginContent() {
97
98
  }}/>
98
99
  </div>
99
100
  <div className={`flex gap-[20px] flex-wrap`}>
100
-
101
101
  {
102
102
  LoginMethod.map((method) => {
103
103
  return <button key={method} className={`bg-gray-300 p-1 capitalize rounded`}
@@ -106,6 +106,15 @@ function LoginContent() {
106
106
  })
107
107
  }
108
108
  </div>
109
+ <div className={`flex gap-[20px] flex-wrap`}>
110
+ {
111
+ CEXList.map((method) => {
112
+ return <button key={method} className={`bg-gray-300 p-1 capitalize rounded`}
113
+ onClick={() => bindCex(method)}>CEX {method}
114
+ </button>
115
+ })
116
+ }
117
+ </div>
109
118
  <div className={`flex gap-[20px]`}>
110
119
  <button className={`bg-gray-300 p-1 rounded`}
111
120
  onClick={onAuth}>Third party auth
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matchain/matchid-sdk-react",
3
- "version": "0.1.37-alpha.2",
3
+ "version": "0.1.37-alpha.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -8,6 +8,26 @@
8
8
  "import": "./dist/index.mjs",
9
9
  "require": "./dist/index.js"
10
10
  },
11
+ "./components": {
12
+ "import": "./dist/components/index.mjs",
13
+ "require": "./dist/components/index.js"
14
+ },
15
+ "./hooks": {
16
+ "import": "./dist/hooks/index.mjs",
17
+ "require": "./dist/hooks/index.js"
18
+ },
19
+ "./api": {
20
+ "import": "./dist/hooks/api/index.mjs",
21
+ "require": "./dist/hooks/api/index.js"
22
+ },
23
+ "./chains": {
24
+ "import": "./dist/config/chains/index.mjs",
25
+ "require": "./dist/config/chains/index.js"
26
+ },
27
+ "./icon": {
28
+ "import": "./dist/assets/icon/index.mjs",
29
+ "require": "./dist/assets/icon/index.js"
30
+ },
11
31
  "./index.css": "./dist/index.css"
12
32
  },
13
33
  "scripts": {
@@ -26,7 +46,7 @@
26
46
  "matchid",
27
47
  "react"
28
48
  ],
29
- "author": "Matchain.io",
49
+ "author": "MatchaID.AI",
30
50
  "license": "ISC",
31
51
  "description": "MatchID SDK",
32
52
  "peerDependencies": {
@@ -44,6 +64,7 @@
44
64
  "ethers": "^5.7.2",
45
65
  "react-intl": "^7.1.0",
46
66
  "react-router-dom": "^6.0.0",
67
+ "sats-connect": "^3.0.1",
47
68
  "siwe": "^2.3.2",
48
69
  "styled-components": "^6.1.13",
49
70
  "viem": "2.17",