thirdweb 5.77.0 → 5.78.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 (145) hide show
  1. package/dist/cjs/exports/react.js +4 -2
  2. package/dist/cjs/exports/react.js.map +1 -1
  3. package/dist/cjs/exports/react.native.js +4 -1
  4. package/dist/cjs/exports/react.native.js.map +1 -1
  5. package/dist/cjs/exports/wallets/in-app.js +2 -1
  6. package/dist/cjs/exports/wallets/in-app.js.map +1 -1
  7. package/dist/cjs/exports/wallets/in-app.native.js +2 -1
  8. package/dist/cjs/exports/wallets/in-app.native.js.map +1 -1
  9. package/dist/cjs/exports/wallets.js +2 -1
  10. package/dist/cjs/exports/wallets.js.map +1 -1
  11. package/dist/cjs/exports/wallets.native.js +2 -1
  12. package/dist/cjs/exports/wallets.native.js.map +1 -1
  13. package/dist/cjs/react/native/hooks/wallets/useUnlinkProfile.js +58 -0
  14. package/dist/cjs/react/native/hooks/wallets/useUnlinkProfile.js.map +1 -0
  15. package/dist/cjs/react/web/hooks/wallets/useUnlinkProfile.js +58 -0
  16. package/dist/cjs/react/web/hooks/wallets/useUnlinkProfile.js.map +1 -0
  17. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +22 -6
  18. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  19. package/dist/cjs/react/web/wallets/in-app/CountrySelector.js +11 -10
  20. package/dist/cjs/react/web/wallets/in-app/CountrySelector.js.map +1 -1
  21. package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js +3 -1
  22. package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
  23. package/dist/cjs/react/web/wallets/in-app/supported-sms-countries.js.map +1 -1
  24. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
  25. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  26. package/dist/cjs/version.js +1 -1
  27. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js +31 -0
  28. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js.map +1 -1
  29. package/dist/cjs/wallets/in-app/native/auth/index.js +30 -3
  30. package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
  31. package/dist/cjs/wallets/in-app/native/native-connector.js +8 -0
  32. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  33. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +30 -0
  34. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  35. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +8 -0
  36. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  37. package/dist/esm/exports/react.js +1 -0
  38. package/dist/esm/exports/react.js.map +1 -1
  39. package/dist/esm/exports/react.native.js +1 -0
  40. package/dist/esm/exports/react.native.js.map +1 -1
  41. package/dist/esm/exports/wallets/in-app.js +1 -1
  42. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  43. package/dist/esm/exports/wallets/in-app.native.js +1 -1
  44. package/dist/esm/exports/wallets/in-app.native.js.map +1 -1
  45. package/dist/esm/exports/wallets.js +1 -1
  46. package/dist/esm/exports/wallets.js.map +1 -1
  47. package/dist/esm/exports/wallets.native.js +1 -1
  48. package/dist/esm/exports/wallets.native.js.map +1 -1
  49. package/dist/esm/react/native/hooks/wallets/useUnlinkProfile.js +55 -0
  50. package/dist/esm/react/native/hooks/wallets/useUnlinkProfile.js.map +1 -0
  51. package/dist/esm/react/web/hooks/wallets/useUnlinkProfile.js +55 -0
  52. package/dist/esm/react/web/hooks/wallets/useUnlinkProfile.js.map +1 -0
  53. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +22 -6
  54. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  55. package/dist/esm/react/web/wallets/in-app/CountrySelector.js +10 -10
  56. package/dist/esm/react/web/wallets/in-app/CountrySelector.js.map +1 -1
  57. package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js +4 -2
  58. package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
  59. package/dist/esm/react/web/wallets/in-app/supported-sms-countries.js.map +1 -1
  60. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
  61. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  62. package/dist/esm/version.js +1 -1
  63. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js +30 -0
  64. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js.map +1 -1
  65. package/dist/esm/wallets/in-app/native/auth/index.js +29 -3
  66. package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
  67. package/dist/esm/wallets/in-app/native/native-connector.js +9 -1
  68. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  69. package/dist/esm/wallets/in-app/web/lib/auth/index.js +29 -0
  70. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  71. package/dist/esm/wallets/in-app/web/lib/web-connector.js +9 -1
  72. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  73. package/dist/types/exports/react.d.ts +1 -0
  74. package/dist/types/exports/react.d.ts.map +1 -1
  75. package/dist/types/exports/react.native.d.ts +1 -0
  76. package/dist/types/exports/react.native.d.ts.map +1 -1
  77. package/dist/types/exports/wallets/in-app.d.ts +1 -1
  78. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  79. package/dist/types/exports/wallets/in-app.native.d.ts +1 -1
  80. package/dist/types/exports/wallets/in-app.native.d.ts.map +1 -1
  81. package/dist/types/exports/wallets.d.ts +1 -1
  82. package/dist/types/exports/wallets.d.ts.map +1 -1
  83. package/dist/types/exports/wallets.native.d.ts +1 -1
  84. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  85. package/dist/types/react/native/hooks/wallets/useUnlinkProfile.d.ts +34 -0
  86. package/dist/types/react/native/hooks/wallets/useUnlinkProfile.d.ts.map +1 -0
  87. package/dist/types/react/web/hooks/wallets/useUnlinkProfile.d.ts +34 -0
  88. package/dist/types/react/web/hooks/wallets/useUnlinkProfile.d.ts.map +1 -0
  89. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -1
  90. package/dist/types/react/web/wallets/in-app/CountrySelector.d.ts +2 -0
  91. package/dist/types/react/web/wallets/in-app/CountrySelector.d.ts.map +1 -1
  92. package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts +2 -0
  93. package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts.map +1 -1
  94. package/dist/types/react/web/wallets/in-app/supported-sms-countries.d.ts +946 -5
  95. package/dist/types/react/web/wallets/in-app/supported-sms-countries.d.ts.map +1 -1
  96. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  97. package/dist/types/version.d.ts +1 -1
  98. package/dist/types/wallets/ecosystem/types.d.ts +5 -0
  99. package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
  100. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts +13 -0
  101. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts.map +1 -1
  102. package/dist/types/wallets/in-app/core/authentication/types.d.ts +5 -0
  103. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  104. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +1 -0
  105. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
  106. package/dist/types/wallets/in-app/core/wallet/types.d.ts +5 -0
  107. package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
  108. package/dist/types/wallets/in-app/native/auth/index.d.ts +27 -4
  109. package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
  110. package/dist/types/wallets/in-app/native/native-connector.d.ts +4 -3
  111. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  112. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +27 -1
  113. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  114. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +4 -3
  115. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  116. package/package.json +1 -1
  117. package/src/exports/react.native.ts +1 -0
  118. package/src/exports/react.ts +1 -0
  119. package/src/exports/wallets/in-app.native.ts +1 -0
  120. package/src/exports/wallets/in-app.ts +1 -0
  121. package/src/exports/wallets.native.ts +1 -0
  122. package/src/exports/wallets.ts +1 -0
  123. package/src/react/native/hooks/wallets/useUnlinkProfile.test.tsx +75 -0
  124. package/src/react/native/hooks/wallets/useUnlinkProfile.ts +62 -0
  125. package/src/react/web/hooks/wallets/useUnlinkProfile.test.tsx +75 -0
  126. package/src/react/web/hooks/wallets/useUnlinkProfile.ts +62 -0
  127. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.test.tsx +25 -0
  128. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +86 -44
  129. package/src/react/web/wallets/in-app/CountrySelector.test.tsx +45 -0
  130. package/src/react/web/wallets/in-app/CountrySelector.tsx +16 -13
  131. package/src/react/web/wallets/in-app/InputSelectionUI.test.tsx +45 -0
  132. package/src/react/web/wallets/in-app/InputSelectionUI.tsx +8 -2
  133. package/src/react/web/wallets/in-app/supported-sms-countries.ts +3 -1
  134. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +3 -0
  135. package/src/version.ts +1 -1
  136. package/src/wallets/ecosystem/types.ts +5 -0
  137. package/src/wallets/in-app/core/authentication/linkAccount.test.ts +160 -0
  138. package/src/wallets/in-app/core/authentication/linkAccount.ts +49 -0
  139. package/src/wallets/in-app/core/authentication/types.ts +6 -0
  140. package/src/wallets/in-app/core/interfaces/connector.ts +1 -0
  141. package/src/wallets/in-app/core/wallet/types.ts +5 -0
  142. package/src/wallets/in-app/native/auth/index.ts +31 -3
  143. package/src/wallets/in-app/native/native-connector.ts +11 -0
  144. package/src/wallets/in-app/web/lib/auth/index.ts +31 -0
  145. package/src/wallets/in-app/web/lib/web-connector.ts +11 -0
@@ -1 +1 @@
1
- {"version":3,"file":"supported-sms-countries.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/wallets/in-app/supported-sms-countries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;GAiqCjC,CAAC"}
1
+ {"version":3,"file":"supported-sms-countries.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/wallets/in-app/supported-sms-countries.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiqCxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectWalletSocialOptions.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yDAAyD,CAAC;AAGvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAwB7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,gBAAgB,CAAC;QACvB,iBAAiB,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,UAAU,CAAC,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAWN,KAAK,+BAA+B,GAAG;IACrC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,UAC9B,+BAA+B,+CAsavC,CAAC"}
1
+ {"version":3,"file":"ConnectWalletSocialOptions.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yDAAyD,CAAC;AAGvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAwB7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,gBAAgB,CAAC;QACvB,iBAAiB,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,UAAU,CAAC,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAWN,KAAK,+BAA+B,GAAG;IACrC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,UAC9B,+BAA+B,+CAyavC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.77.0";
1
+ export declare const version = "5.78.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,4 @@
1
+ import type { SupportedSmsCountry } from "../../react/web/wallets/in-app/supported-sms-countries.js";
1
2
  import type { InAppWalletAutoConnectOptions, InAppWalletConnectionOptions } from "../in-app/core/wallet/types.js";
2
3
  export type EcosystemWalletCreationOptions = {
3
4
  auth?: {
@@ -9,6 +10,10 @@ export type EcosystemWalletCreationOptions = {
9
10
  * Optional url to redirect to after authentication
10
11
  */
11
12
  redirectUrl?: string;
13
+ /**
14
+ * The default country code to use for SMS authentication
15
+ */
16
+ defaultSmsCountryCode?: SupportedSmsCountry;
12
17
  };
13
18
  /**
14
19
  * The partnerId of the ecosystem wallet to connect to
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/ecosystem/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACvC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,4BAA4B,CAAC;AAC5E,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/ecosystem/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACvC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;KAC7C,CAAC;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,4BAA4B,CAAC;AAC5E,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,CAAC"}
@@ -15,6 +15,19 @@ export declare function linkAccount({ client, ecosystem, tokenToLink, storage, }
15
15
  tokenToLink: string;
16
16
  storage: ClientScopedStorage;
17
17
  }): Promise<Profile[]>;
18
+ /**
19
+ * @description
20
+ * Links a new account to the current one using an auth token.
21
+ * For the public-facing API, use `wallet.linkProfile` instead.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function unlinkAccount({ client, ecosystem, profileToUnlink, storage, }: {
26
+ client: ThirdwebClient;
27
+ ecosystem?: Ecosystem;
28
+ profileToUnlink: Profile;
29
+ storage: ClientScopedStorage;
30
+ }): Promise<Profile[]>;
18
31
  /**
19
32
  * @description
20
33
  * Gets the linked accounts for the current user.
@@ -1 +1 @@
1
- {"version":3,"file":"linkAccount.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/linkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAgCrB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA6BrB"}
1
+ {"version":3,"file":"linkAccount.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/linkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAgCrB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,SAAS,EACT,eAAe,EACf,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA8BrB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA6BrB"}
@@ -194,5 +194,10 @@ export type GetAuthenticatedUserParams = {
194
194
  client: ThirdwebClient;
195
195
  ecosystem?: Ecosystem;
196
196
  };
197
+ export type UnlinkParams = {
198
+ client: ThirdwebClient;
199
+ ecosystem?: Ecosystem;
200
+ profileToUnlink: Profile;
201
+ };
197
202
  export {};
198
203
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/types.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface InAppConnector {
11
11
  connect(args: MultiStepAuthArgsType | SingleStepAuthArgsType): Promise<AuthLoginReturnType>;
12
12
  logout(): Promise<LogoutReturnType>;
13
13
  linkProfile(args: AuthArgsType): Promise<Profile[]>;
14
+ unlinkProfile(args: Profile): Promise<Profile[]>;
14
15
  getProfiles(): Promise<Profile[]>;
15
16
  }
16
17
  //# sourceMappingURL=connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/interfaces/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,OAAO,EACP,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,wBAAwB,CAAC,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,kBAAkB,CAAC,CACjB,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,YAAY,CACV,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,CACL,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/interfaces/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,OAAO,EACP,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,wBAAwB,CAAC,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,kBAAkB,CAAC,CACjB,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,YAAY,CACV,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,CACL,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACnC"}
@@ -1,5 +1,6 @@
1
1
  import type { Chain } from "../../../../chains/types.js";
2
2
  import type { ThirdwebClient } from "../../../../client/client.js";
3
+ import type { SupportedSmsCountry } from "../../../../react/web/wallets/in-app/supported-sms-countries.js";
3
4
  import type { SmartWalletOptions } from "../../../smart/types.js";
4
5
  import type { AuthOption, OAuthOption, SocialAuthOption } from "../../../types.js";
5
6
  import type { EcosystemWalletId } from "../../../wallet-types.js";
@@ -41,6 +42,10 @@ export type InAppWalletCreationOptions = {
41
42
  * The domain of the passkey to use for authentication
42
43
  */
43
44
  passkeyDomain?: string;
45
+ /**
46
+ * The default country code to use for SMS authentication
47
+ */
48
+ defaultSmsCountryCode?: SupportedSmsCountry;
44
49
  };
45
50
  /**
46
51
  * Metadata to display in the Connect Modal
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EACV,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,iBAAiB,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACvC,qBAAqB,GACrB,sBAAsB,CACzB,GAAG;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mCAAmC,CAAC;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAClC;IACE,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACvC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;QAEI;IACJ,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GACD,SAAS,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iEAAiE,CAAC;AAC3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EACV,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,iBAAiB,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACvC,qBAAqB,GACrB,sBAAsB,CACzB,GAAG;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mCAAmC,CAAC;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAClC;IACE,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACvC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;KAC7C,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;QAEI;IACJ,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GACD,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AuthArgsType, GetAuthenticatedUserParams, PreAuthArgsType } from "../../core/authentication/types.js";
1
+ import type { AuthArgsType, GetAuthenticatedUserParams, PreAuthArgsType, UnlinkParams } from "../../core/authentication/types.js";
2
2
  /**
3
3
  * Retrieves the authenticated user email for the active in-app wallet.
4
4
  * @param options - The arguments for retrieving the authenticated user.
@@ -70,9 +70,6 @@ export declare function authenticate(args: AuthArgsType): Promise<import("../../
70
70
  *
71
71
  * **When a profile is linked to the account, that profile can then be used to sign into the account.**
72
72
  *
73
- * This method is only available for in-app wallets.
74
- *
75
- * @param wallet - The wallet to link an additional profile to.
76
73
  * @param auth - The authentications options to add the new profile.
77
74
  * @returns A promise that resolves to the currently linked profiles when the connection is successful.
78
75
  * @throws If the connection fails, if the profile is already linked to the account, or if the profile is already associated with another account.
@@ -87,6 +84,32 @@ export declare function authenticate(args: AuthArgsType): Promise<import("../../
87
84
  * @wallet
88
85
  */
89
86
  export declare function linkProfile(args: AuthArgsType): Promise<import("../../core/authentication/types.js").Profile[]>;
87
+ /**
88
+ * Disconnects an existing profile (authentication method) from the current user. Once disconnected, that profile can no longer be used to sign into the account.
89
+ *
90
+ * @param args - The object containing the profile that we want to unlink.
91
+ * @returns A promise that resolves to the updated linked profiles.
92
+ * @throws If the unlinking fails. This can happen if the account has no other associated profiles or if the profile that is being unlinked doesn't exists for the current logged in user.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { inAppWallet } from "thirdweb/wallets";
97
+ *
98
+ * const wallet = inAppWallet();
99
+ * wallet.connect({ strategy: "google" });
100
+ *
101
+ * const profiles = await getProfiles({
102
+ * client,
103
+ * });
104
+ *
105
+ * const updatedProfiles = await unlinkProfile({
106
+ * client,
107
+ * profileToUnlink: profiles[0],
108
+ * });
109
+ * ```
110
+ * @wallet
111
+ */
112
+ export declare function unlinkProfile(args: UnlinkParams): Promise<import("../../core/authentication/types.js").Profile[]>;
90
113
  /**
91
114
  * Gets the linked profiles for the connected in-app or ecosystem wallet.
92
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/native/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAkD5C;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,6FAGpD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,mEAGnD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,0BAA0B,mEAGjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/native/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACb,MAAM,oCAAoC,CAAC;AAkD5C;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,6FAGpD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,mEAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,YAAY,mEAGrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,0BAA0B,mEAGjE"}
@@ -1,6 +1,6 @@
1
1
  import type { ThirdwebClient } from "../../../client/client.js";
2
2
  import type { Account } from "../../interfaces/wallet.js";
3
- import type { AuthArgsType, AuthLoginReturnType, AuthStoredTokenWithCookieReturnType, GetUser, LogoutReturnType, MultiStepAuthArgsType, MultiStepAuthProviderType, SingleStepAuthArgsType } from "../core/authentication/types.js";
3
+ import type { AuthArgsType, AuthLoginReturnType, AuthStoredTokenWithCookieReturnType, GetUser, LogoutReturnType, MultiStepAuthArgsType, MultiStepAuthProviderType, Profile, SingleStepAuthArgsType } from "../core/authentication/types.js";
4
4
  import type { InAppConnector } from "../core/interfaces/connector.js";
5
5
  import type { Ecosystem } from "../core/wallet/types.js";
6
6
  type NativeConnectorOptions = {
@@ -24,8 +24,9 @@ export declare class InAppNativeConnector implements InAppConnector {
24
24
  private passkeyAuth;
25
25
  deleteActiveAccount(): Promise<boolean>;
26
26
  logout(): Promise<LogoutReturnType>;
27
- linkProfile(args: AuthArgsType): Promise<import("../core/authentication/types.js").Profile[]>;
28
- getProfiles(): Promise<import("../core/authentication/types.js").Profile[]>;
27
+ linkProfile(args: AuthArgsType): Promise<Profile[]>;
28
+ unlinkProfile(profile: Profile): Promise<Profile[]>;
29
+ getProfiles(): Promise<Profile[]>;
29
30
  }
30
31
  export {};
31
32
  //# sourceMappingURL=native-connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAe1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,OAAO,EAAE,sBAAsB;IAWrC,gBAAgB,CACpB,UAAU,CAAC,EAAE,mCAAmC,EAChD,aAAa,CAAC,EAAE,MAAM;IAgElB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mCAAmC,CAAC;IAwDzC,OAAO,CACX,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,GACrD,OAAO,CAAC,mBAAmB,CAAC;YA+BjB,WAAW;IAgEnB,mBAAmB;IAOzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO7B,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
1
+ {"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAgB1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,OAAO,EACP,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,OAAO,EAAE,sBAAsB;IAWrC,gBAAgB,CACpB,UAAU,CAAC,EAAE,mCAAmC,EAChD,aAAa,CAAC,EAAE,MAAM;IAgElB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mCAAmC,CAAC;IAwDzC,OAAO,CACX,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,GACrD,OAAO,CAAC,mBAAmB,CAAC;YA+BjB,WAAW;IAgEnB,mBAAmB;IAOzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO7B,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,aAAa,CAAC,OAAO,EAAE,OAAO;IAS9B,WAAW;CAOlB"}
@@ -1,5 +1,5 @@
1
1
  import type { ThirdwebClient } from "../../../../../client/client.js";
2
- import type { AuthArgsType, GetAuthenticatedUserParams, PreAuthArgsType, SocialAuthArgsType } from "../../../core/authentication/types.js";
2
+ import type { AuthArgsType, GetAuthenticatedUserParams, PreAuthArgsType, SocialAuthArgsType, UnlinkParams } from "../../../core/authentication/types.js";
3
3
  import type { Ecosystem } from "../../../core/wallet/types.js";
4
4
  /**
5
5
  * Retrieves the authenticated user email for the active in-app wallet.
@@ -108,6 +108,32 @@ export declare function authenticateWithRedirect(args: SocialAuthArgsType & {
108
108
  * @wallet
109
109
  */
110
110
  export declare function linkProfile(args: AuthArgsType): Promise<import("../../../core/authentication/types.js").Profile[]>;
111
+ /**
112
+ * Disconnects an existing profile (authentication method) from the current user. Once disconnected, that profile can no longer be used to sign into the account.
113
+ *
114
+ * @param args - The object containing the profile that we want to unlink.
115
+ * @returns A promise that resolves to the updated linked profiles.
116
+ * @throws If the unlinking fails. This can happen if the account has no other associated profiles or if the profile that is being unlinked doesn't exists for the current logged in user.
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * import { inAppWallet } from "thirdweb/wallets";
121
+ *
122
+ * const wallet = inAppWallet();
123
+ * wallet.connect({ strategy: "google" });
124
+ *
125
+ * const profiles = await getProfiles({
126
+ * client,
127
+ * });
128
+ *
129
+ * const updatedProfiles = await unlinkProfile({
130
+ * client,
131
+ * profileToUnlink: profiles[0],
132
+ * });
133
+ * ```
134
+ * @wallet
135
+ */
136
+ export declare function unlinkProfile(args: UnlinkParams): Promise<import("../../../core/authentication/types.js").Profile[]>;
111
137
  /**
112
138
  * Gets the linked profiles for the connected in-app or ecosystem wallet.
113
139
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAoD/D;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,gGAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,iBAa7E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,sEAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,0BAA0B,sEAGjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EAClB,YAAY,EACb,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAoD/D;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,iBAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,gGAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,iBAa7E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,sEAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,YAAY,sEAGrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,0BAA0B,sEAGjE"}
@@ -1,6 +1,6 @@
1
1
  import type { SocialAuthOption } from "../../../../wallets/types.js";
2
2
  import type { Account } from "../../../interfaces/wallet.js";
3
- import type { AuthArgsType, AuthLoginReturnType, AuthStoredTokenWithCookieReturnType, GetUser, LogoutReturnType, MultiStepAuthArgsType, MultiStepAuthProviderType, SingleStepAuthArgsType } from "../../core/authentication/types.js";
3
+ import type { AuthArgsType, AuthLoginReturnType, AuthStoredTokenWithCookieReturnType, GetUser, LogoutReturnType, MultiStepAuthArgsType, MultiStepAuthProviderType, Profile, SingleStepAuthArgsType } from "../../core/authentication/types.js";
4
4
  import type { InAppConnector } from "../../core/interfaces/connector.js";
5
5
  import type { IWebWallet } from "../../core/wallet/web-wallet.js";
6
6
  import type { InAppWalletConstructorType } from "../types.js";
@@ -65,7 +65,8 @@ export declare class InAppWebConnector implements InAppConnector {
65
65
  connect(args: MultiStepAuthArgsType | SingleStepAuthArgsType): Promise<AuthLoginReturnType>;
66
66
  logout(): Promise<LogoutReturnType>;
67
67
  private passkeyAuth;
68
- linkProfile(args: AuthArgsType): Promise<import("../../core/authentication/types.js").Profile[]>;
69
- getProfiles(): Promise<import("../../core/authentication/types.js").Profile[]>;
68
+ linkProfile(args: AuthArgsType): Promise<Profile[]>;
69
+ unlinkProfile(profile: Profile): Promise<Profile[]>;
70
+ getProfiles(): Promise<Profile[]>;
70
71
  }
71
72
  //# sourceMappingURL=web-connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAe7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IA6FvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAwC/D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CACtB,UAAU,EAAE,mCAAmC,EAC/C,YAAY,CAAC,EAAE,MAAM;IAKvB;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IA6E/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IA6CzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;IAgCnB,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
1
+ {"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAgB7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,OAAO,EACP,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IA6FvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAwC/D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CACtB,UAAU,EAAE,mCAAmC,EAC/C,YAAY,CAAC,EAAE,MAAM;IAKvB;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IA6E/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IA6CzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;IAgCnB,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,aAAa,CAAC,OAAO,EAAE,OAAO;IAS9B,WAAW;CAOlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.77.0",
3
+ "version": "5.78.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -27,6 +27,7 @@ export { useCallsStatus } from "../react/core/hooks/wallets/useCallsStatus.js";
27
27
  export { useWalletBalance } from "../react/core/hooks/others/useWalletBalance.js";
28
28
  export { useProfiles } from "../react/native/hooks/wallets/useProfiles.js";
29
29
  export { useLinkProfile } from "../react/native/hooks/wallets/useLinkProfile.js";
30
+ export { useUnlinkProfile } from "../react/native/hooks/wallets/useUnlinkProfile.js";
30
31
 
31
32
  // contract
32
33
  export { useReadContract } from "../react/core/hooks/contract/useReadContract.js";
@@ -58,6 +58,7 @@ export { useCallsStatus } from "../react/core/hooks/wallets/useCallsStatus.js";
58
58
  export { useWalletBalance } from "../react/core/hooks/others/useWalletBalance.js";
59
59
  export { useProfiles } from "../react/web/hooks/wallets/useProfiles.js";
60
60
  export { useLinkProfile } from "../react/web/hooks/wallets/useLinkProfile.js";
61
+ export { useUnlinkProfile } from "../react/web/hooks/wallets/useUnlinkProfile.js";
61
62
 
62
63
  // chain hooks
63
64
  export { useChainMetadata } from "../react/core/hooks/others/useChainQuery.js";
@@ -9,6 +9,7 @@ export {
9
9
  getUserPhoneNumber,
10
10
  getProfiles,
11
11
  linkProfile,
12
+ unlinkProfile,
12
13
  } from "../../wallets/in-app/native/auth/index.js";
13
14
 
14
15
  export type { GetAuthenticatedUserParams } from "../../wallets/in-app/core/authentication/types.js";
@@ -9,6 +9,7 @@ export {
9
9
  getUserPhoneNumber,
10
10
  getProfiles,
11
11
  linkProfile,
12
+ unlinkProfile,
12
13
  } from "../../wallets/in-app/web/lib/auth/index.js";
13
14
 
14
15
  export type { GetAuthenticatedUserParams } from "../../wallets/in-app/core/authentication/types.js";
@@ -98,6 +98,7 @@ export {
98
98
  getUserPhoneNumber,
99
99
  getProfiles,
100
100
  linkProfile,
101
+ unlinkProfile,
101
102
  } from "../wallets/in-app/native/auth/index.js";
102
103
  export type { Profile } from "../wallets/in-app/core/authentication/types.js";
103
104
  export const authenticateWithRedirect = () => {
@@ -106,6 +106,7 @@ export {
106
106
  getUserPhoneNumber,
107
107
  getProfiles,
108
108
  linkProfile,
109
+ unlinkProfile,
109
110
  } from "../wallets/in-app/web/lib/auth/index.js";
110
111
  export type { Profile } from "../wallets/in-app/core/authentication/types.js";
111
112
 
@@ -0,0 +1,75 @@
1
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
2
+ import { act, renderHook } from "@testing-library/react";
3
+ import type React from "react";
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ import { TEST_CLIENT } from "~test/test-clients.js";
6
+ import { useConnectedWallets } from "../../../../react/core/hooks/wallets/useConnectedWallets.js";
7
+ import type { Profile } from "../../../../wallets/in-app/core/authentication/types.js";
8
+ import { unlinkProfile } from "../../../../wallets/in-app/web/lib/auth/index.js";
9
+ import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
10
+ import { useUnlinkProfile } from "./useUnlinkProfile.js";
11
+
12
+ vi.mock("../../../../wallets/in-app/web/lib/auth/index.js");
13
+ vi.mock("../../../core/hooks/wallets/useConnectedWallets.js");
14
+
15
+ describe("useUnlinkProfile", () => {
16
+ const queryClient = new QueryClient();
17
+ const wrapper = ({ children }: { children: React.ReactNode }) => (
18
+ <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
19
+ );
20
+
21
+ beforeEach(() => {
22
+ vi.clearAllMocks();
23
+ vi.spyOn(queryClient, "invalidateQueries");
24
+ });
25
+
26
+ const mockProfile = {} as unknown as Profile;
27
+ it("should call unlinkProfile with correct parameters", async () => {
28
+ vi.mocked(useConnectedWallets).mockReturnValue([]);
29
+
30
+ const { result } = renderHook(() => useUnlinkProfile(), {
31
+ wrapper,
32
+ });
33
+ const mutationFn = result.current.mutateAsync;
34
+
35
+ await act(async () => {
36
+ await mutationFn({ client: TEST_CLIENT, profileToUnlink: mockProfile });
37
+ });
38
+
39
+ expect(unlinkProfile).toHaveBeenCalledWith({
40
+ client: TEST_CLIENT,
41
+ ecosystem: undefined,
42
+ profileToUnlink: mockProfile,
43
+ });
44
+ expect(queryClient.invalidateQueries).toHaveBeenCalledWith({
45
+ queryKey: ["profiles"],
46
+ });
47
+ });
48
+
49
+ it("should include ecosystem if ecosystem wallet is found", async () => {
50
+ const mockWallet = {
51
+ id: "ecosystem.wallet-id",
52
+ getConfig: () => ({ partnerId: "partner-id" }),
53
+ } as unknown as Wallet;
54
+ vi.mocked(useConnectedWallets).mockReturnValue([mockWallet]);
55
+
56
+ const { result } = renderHook(() => useUnlinkProfile(), {
57
+ wrapper,
58
+ });
59
+ const mutationFn = result.current.mutateAsync;
60
+
61
+ await act(async () => {
62
+ await mutationFn({ client: TEST_CLIENT, profileToUnlink: mockProfile });
63
+ });
64
+
65
+ expect(unlinkProfile).toHaveBeenCalledWith({
66
+ client: TEST_CLIENT,
67
+ ecosystem: {
68
+ id: mockWallet.id,
69
+ partnerId: (mockWallet as Wallet<`ecosystem.${string}`>).getConfig()
70
+ ?.partnerId,
71
+ },
72
+ profileToUnlink: mockProfile,
73
+ });
74
+ });
75
+ });
@@ -0,0 +1,62 @@
1
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
2
+ import type { ThirdwebClient } from "../../../../client/client.js";
3
+ import { isEcosystemWallet } from "../../../../wallets/ecosystem/is-ecosystem-wallet.js";
4
+ import type { Profile } from "../../../../wallets/in-app/core/authentication/types.js";
5
+ import type { Ecosystem } from "../../../../wallets/in-app/core/wallet/types.js";
6
+ import { unlinkProfile } from "../../../../wallets/in-app/web/lib/auth/index.js";
7
+ import { useConnectedWallets } from "../../../core/hooks/wallets/useConnectedWallets.js";
8
+
9
+ /**
10
+ * Unlinks a web2 or web3 profile currently connected in-app or ecosystem account.
11
+ * **When a profile is unlinked from the account, it will no longer be able to be used to sign into the account.**
12
+ *
13
+ * @example
14
+ *
15
+ * ### Unlinking an email account
16
+ *
17
+ * ```jsx
18
+ * import { useUnlinkProfile } from "thirdweb/react";
19
+ *
20
+ * const { data: connectedProfiles, isLoading } = useProfiles({
21
+ * client: props.client,
22
+ * });
23
+ * const { mutate: unlinkProfile } = useUnlinkProfile();
24
+ *
25
+ * const onClick = () => {
26
+ * unlinkProfile({
27
+ * client,
28
+ * // Select any other profile you want to unlink
29
+ * profileToUnlink: connectedProfiles[1]
30
+ * });
31
+ * };
32
+ * ```
33
+ *
34
+ * @wallet
35
+ */
36
+ export function useUnlinkProfile() {
37
+ const wallets = useConnectedWallets();
38
+ const queryClient = useQueryClient();
39
+ return useMutation({
40
+ mutationFn: async ({
41
+ client,
42
+ profileToUnlink,
43
+ }: { client: ThirdwebClient; profileToUnlink: Profile }) => {
44
+ const ecosystemWallet = wallets.find((w) => isEcosystemWallet(w));
45
+ const ecosystem: Ecosystem | undefined = ecosystemWallet
46
+ ? {
47
+ id: ecosystemWallet.id,
48
+ partnerId: ecosystemWallet.getConfig()?.partnerId,
49
+ }
50
+ : undefined;
51
+
52
+ await unlinkProfile({
53
+ client,
54
+ ecosystem,
55
+ profileToUnlink,
56
+ });
57
+ },
58
+ onSuccess: () => {
59
+ queryClient.invalidateQueries({ queryKey: ["profiles"] });
60
+ },
61
+ });
62
+ }
@@ -0,0 +1,75 @@
1
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
2
+ import { act, renderHook } from "@testing-library/react";
3
+ import type React from "react";
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ import { TEST_CLIENT } from "~test/test-clients.js";
6
+ import { useConnectedWallets } from "../../../../react/core/hooks/wallets/useConnectedWallets.js";
7
+ import type { Profile } from "../../../../wallets/in-app/core/authentication/types.js";
8
+ import { unlinkProfile } from "../../../../wallets/in-app/web/lib/auth/index.js";
9
+ import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
10
+ import { useUnlinkProfile } from "./useUnlinkProfile.js";
11
+
12
+ vi.mock("../../../../wallets/in-app/web/lib/auth/index.js");
13
+ vi.mock("../../../core/hooks/wallets/useConnectedWallets.js");
14
+
15
+ describe("useUnlinkProfile", () => {
16
+ const queryClient = new QueryClient();
17
+ const wrapper = ({ children }: { children: React.ReactNode }) => (
18
+ <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
19
+ );
20
+
21
+ beforeEach(() => {
22
+ vi.clearAllMocks();
23
+ vi.spyOn(queryClient, "invalidateQueries");
24
+ });
25
+
26
+ const mockProfile = {} as unknown as Profile;
27
+ it("should call unlinkProfile with correct parameters", async () => {
28
+ vi.mocked(useConnectedWallets).mockReturnValue([]);
29
+
30
+ const { result } = renderHook(() => useUnlinkProfile(), {
31
+ wrapper,
32
+ });
33
+ const mutationFn = result.current.mutateAsync;
34
+
35
+ await act(async () => {
36
+ await mutationFn({ client: TEST_CLIENT, profileToUnlink: mockProfile });
37
+ });
38
+
39
+ expect(unlinkProfile).toHaveBeenCalledWith({
40
+ client: TEST_CLIENT,
41
+ ecosystem: undefined,
42
+ profileToUnlink: mockProfile,
43
+ });
44
+ expect(queryClient.invalidateQueries).toHaveBeenCalledWith({
45
+ queryKey: ["profiles"],
46
+ });
47
+ });
48
+
49
+ it("should include ecosystem if ecosystem wallet is found", async () => {
50
+ const mockWallet = {
51
+ id: "ecosystem.wallet-id",
52
+ getConfig: () => ({ partnerId: "partner-id" }),
53
+ } as unknown as Wallet;
54
+ vi.mocked(useConnectedWallets).mockReturnValue([mockWallet]);
55
+
56
+ const { result } = renderHook(() => useUnlinkProfile(), {
57
+ wrapper,
58
+ });
59
+ const mutationFn = result.current.mutateAsync;
60
+
61
+ await act(async () => {
62
+ await mutationFn({ client: TEST_CLIENT, profileToUnlink: mockProfile });
63
+ });
64
+
65
+ expect(unlinkProfile).toHaveBeenCalledWith({
66
+ client: TEST_CLIENT,
67
+ ecosystem: {
68
+ id: mockWallet.id,
69
+ partnerId: (mockWallet as Wallet<`ecosystem.${string}`>).getConfig()
70
+ ?.partnerId,
71
+ },
72
+ profileToUnlink: mockProfile,
73
+ });
74
+ });
75
+ });