@multiplatform.one/web3 7.23.1 → 7.24.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 (431) hide show
  1. package/README.md +150 -11
  2. package/dist/cjs/clients/evm.cjs +299 -11
  3. package/dist/cjs/clients/evm.native.js +500 -12
  4. package/dist/cjs/clients/evm.native.js.map +1 -1
  5. package/dist/cjs/clients/index.cjs +5 -0
  6. package/dist/cjs/clients/index.native.js +5 -0
  7. package/dist/cjs/clients/index.native.js.map +1 -1
  8. package/dist/cjs/clients/solana.cjs +39 -21
  9. package/dist/cjs/clients/solana.native.js +48 -23
  10. package/dist/cjs/clients/solana.native.js.map +1 -1
  11. package/dist/cjs/connectkit/GpgProvider.cjs +44 -0
  12. package/dist/cjs/connectkit/GpgProvider.native.js +51 -0
  13. package/dist/cjs/connectkit/GpgProvider.native.js.map +1 -0
  14. package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +5 -14
  15. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  16. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  17. package/dist/cjs/connectkit/adapters/EthereumAdapter.cjs +6 -15
  18. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js +7 -16
  19. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  20. package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +5 -14
  21. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +5 -15
  22. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  23. package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +5 -14
  24. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +5 -15
  25. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  26. package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +2 -2
  27. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +2 -2
  28. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  29. package/dist/cjs/connectkit/index.cjs +4 -3
  30. package/dist/cjs/connectkit/index.native.js +4 -3
  31. package/dist/cjs/connectkit/index.native.js.map +1 -1
  32. package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
  33. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +18 -3
  34. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +18 -3
  35. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  36. package/dist/cjs/index.cjs +1 -0
  37. package/dist/cjs/index.native.js +1 -0
  38. package/dist/cjs/index.native.js.map +1 -1
  39. package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +255 -0
  40. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js +33 -0
  41. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  42. package/dist/cjs/keycloak/browserFlow.cjs +83 -0
  43. package/dist/cjs/keycloak/browserFlow.native.js +90 -0
  44. package/dist/cjs/keycloak/browserFlow.native.js.map +1 -0
  45. package/dist/cjs/keycloak/device.cjs +36 -0
  46. package/dist/cjs/keycloak/device.native.js +45 -0
  47. package/dist/cjs/keycloak/device.native.js.map +1 -0
  48. package/dist/cjs/keycloak/directGrant.cjs +189 -0
  49. package/dist/cjs/keycloak/directGrant.native.js +233 -0
  50. package/dist/cjs/keycloak/directGrant.native.js.map +1 -0
  51. package/dist/cjs/keycloak/iife.cjs +4 -0
  52. package/dist/cjs/keycloak/iife.native.js +7 -0
  53. package/dist/cjs/keycloak/iife.native.js.map +1 -0
  54. package/dist/cjs/keycloak/index.cjs +53 -0
  55. package/dist/cjs/keycloak/index.native.js +56 -0
  56. package/dist/cjs/keycloak/index.native.js.map +1 -0
  57. package/dist/cjs/keycloak/keycloakWallet.cjs +214 -0
  58. package/dist/cjs/keycloak/keycloakWallet.native.js +285 -0
  59. package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -0
  60. package/dist/cjs/keycloak/mount.cjs +53 -0
  61. package/dist/cjs/keycloak/mount.native.js +33 -0
  62. package/dist/cjs/keycloak/mount.native.js.map +1 -0
  63. package/dist/cjs/keycloak/registerWallet.cjs +74 -0
  64. package/dist/cjs/keycloak/registerWallet.native.js +81 -0
  65. package/dist/cjs/keycloak/registerWallet.native.js.map +1 -0
  66. package/dist/cjs/keycloak/types.cjs +46 -0
  67. package/dist/cjs/keycloak/types.native.js +179 -0
  68. package/dist/cjs/keycloak/types.native.js.map +1 -0
  69. package/dist/cjs/keycloak/useDirectLogin.cjs +57 -0
  70. package/dist/cjs/keycloak/useDirectLogin.native.js +77 -0
  71. package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -0
  72. package/dist/cjs/keycloak/useWalletLogin.cjs +97 -0
  73. package/dist/cjs/keycloak/useWalletLogin.native.js +33 -0
  74. package/dist/cjs/keycloak/useWalletLogin.native.js.map +1 -0
  75. package/dist/cjs/message/buildWalletMessage.cjs +113 -0
  76. package/dist/cjs/message/buildWalletMessage.native.js +121 -0
  77. package/dist/cjs/message/buildWalletMessage.native.js.map +1 -0
  78. package/dist/cjs/message/index.cjs +29 -0
  79. package/dist/cjs/message/index.native.js +32 -0
  80. package/dist/cjs/message/index.native.js.map +1 -0
  81. package/dist/cjs/providers/WalletProvider.cjs +8 -2
  82. package/dist/cjs/siws/message.cjs +5 -16
  83. package/dist/cjs/siws/message.native.js +6 -16
  84. package/dist/cjs/siws/message.native.js.map +1 -1
  85. package/dist/cjs/solana.native.js.map +1 -1
  86. package/dist/esm/clients/evm.mjs +295 -12
  87. package/dist/esm/clients/evm.mjs.map +1 -1
  88. package/dist/esm/clients/evm.native.js +496 -13
  89. package/dist/esm/clients/evm.native.js.map +1 -1
  90. package/dist/esm/clients/index.mjs +2 -2
  91. package/dist/esm/clients/index.mjs.map +1 -1
  92. package/dist/esm/clients/index.native.js +2 -2
  93. package/dist/esm/clients/index.native.js.map +1 -1
  94. package/dist/esm/clients/solana.mjs +39 -21
  95. package/dist/esm/clients/solana.mjs.map +1 -1
  96. package/dist/esm/clients/solana.native.js +48 -23
  97. package/dist/esm/clients/solana.native.js.map +1 -1
  98. package/dist/esm/connectkit/GpgProvider.mjs +19 -0
  99. package/dist/esm/connectkit/GpgProvider.mjs.map +1 -0
  100. package/dist/esm/connectkit/GpgProvider.native.js +23 -0
  101. package/dist/esm/connectkit/GpgProvider.native.js.map +1 -0
  102. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  103. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  104. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  105. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  106. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs +6 -15
  107. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  108. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js +7 -16
  109. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  110. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +5 -14
  111. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  112. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +5 -15
  113. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  114. package/dist/esm/connectkit/adapters/SuiAdapter.mjs +5 -14
  115. package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  116. package/dist/esm/connectkit/adapters/SuiAdapter.native.js +5 -15
  117. package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  118. package/dist/esm/connectkit/connectors/createWalletMessage.mjs +1 -1
  119. package/dist/esm/connectkit/connectors/createWalletMessage.native.js +1 -1
  120. package/dist/esm/connectkit/index.mjs +3 -2
  121. package/dist/esm/connectkit/index.mjs.map +1 -1
  122. package/dist/esm/connectkit/index.native.js +3 -2
  123. package/dist/esm/connectkit/index.native.js.map +1 -1
  124. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  125. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  126. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -4
  127. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  128. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +19 -4
  129. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  130. package/dist/esm/index.mjs +1 -0
  131. package/dist/esm/index.mjs.map +1 -1
  132. package/dist/esm/index.native.js +1 -0
  133. package/dist/esm/index.native.js.map +1 -1
  134. package/dist/esm/keycloak/KeycloakWalletLogin.mjs +218 -0
  135. package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  136. package/dist/esm/keycloak/KeycloakWalletLogin.native.js +5 -0
  137. package/dist/esm/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  138. package/dist/esm/keycloak/browserFlow.mjs +58 -0
  139. package/dist/esm/keycloak/browserFlow.mjs.map +1 -0
  140. package/dist/esm/keycloak/browserFlow.native.js +62 -0
  141. package/dist/esm/keycloak/browserFlow.native.js.map +1 -0
  142. package/dist/esm/keycloak/device.mjs +10 -0
  143. package/dist/esm/keycloak/device.mjs.map +1 -0
  144. package/dist/esm/keycloak/device.native.js +16 -0
  145. package/dist/esm/keycloak/device.native.js.map +1 -0
  146. package/dist/esm/keycloak/directGrant.mjs +164 -0
  147. package/dist/esm/keycloak/directGrant.mjs.map +1 -0
  148. package/dist/esm/keycloak/directGrant.native.js +205 -0
  149. package/dist/esm/keycloak/directGrant.native.js.map +1 -0
  150. package/dist/esm/keycloak/iife.mjs +5 -0
  151. package/dist/esm/keycloak/iife.mjs.map +1 -0
  152. package/dist/esm/keycloak/iife.native.js +5 -0
  153. package/dist/esm/keycloak/iife.native.js.map +1 -0
  154. package/dist/esm/keycloak/index.mjs +13 -0
  155. package/dist/esm/keycloak/index.mjs.map +1 -0
  156. package/dist/esm/keycloak/index.native.js +13 -0
  157. package/dist/esm/keycloak/index.native.js.map +1 -0
  158. package/dist/esm/keycloak/keycloakWallet.mjs +186 -0
  159. package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -0
  160. package/dist/esm/keycloak/keycloakWallet.native.js +254 -0
  161. package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -0
  162. package/dist/esm/keycloak/mount.mjs +28 -0
  163. package/dist/esm/keycloak/mount.mjs.map +1 -0
  164. package/dist/esm/keycloak/mount.native.js +5 -0
  165. package/dist/esm/keycloak/mount.native.js.map +1 -0
  166. package/dist/esm/keycloak/registerWallet.mjs +49 -0
  167. package/dist/esm/keycloak/registerWallet.mjs.map +1 -0
  168. package/dist/esm/keycloak/registerWallet.native.js +53 -0
  169. package/dist/esm/keycloak/registerWallet.native.js.map +1 -0
  170. package/dist/esm/keycloak/types.mjs +20 -0
  171. package/dist/esm/keycloak/types.mjs.map +1 -0
  172. package/dist/esm/keycloak/types.native.js +150 -0
  173. package/dist/esm/keycloak/types.native.js.map +1 -0
  174. package/dist/esm/keycloak/useDirectLogin.mjs +32 -0
  175. package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -0
  176. package/dist/esm/keycloak/useDirectLogin.native.js +49 -0
  177. package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -0
  178. package/dist/esm/keycloak/useWalletLogin.mjs +72 -0
  179. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -0
  180. package/dist/esm/keycloak/useWalletLogin.native.js +5 -0
  181. package/dist/esm/keycloak/useWalletLogin.native.js.map +1 -0
  182. package/dist/esm/message/buildWalletMessage.mjs +87 -0
  183. package/dist/esm/message/buildWalletMessage.mjs.map +1 -0
  184. package/dist/esm/message/buildWalletMessage.native.js +92 -0
  185. package/dist/esm/message/buildWalletMessage.native.js.map +1 -0
  186. package/dist/esm/message/index.mjs +3 -0
  187. package/dist/esm/message/index.mjs.map +1 -0
  188. package/dist/esm/message/index.native.js +3 -0
  189. package/dist/esm/message/index.native.js.map +1 -0
  190. package/dist/esm/providers/WalletProvider.mjs +9 -3
  191. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  192. package/dist/esm/siws/message.mjs +5 -16
  193. package/dist/esm/siws/message.mjs.map +1 -1
  194. package/dist/esm/siws/message.native.js +6 -16
  195. package/dist/esm/siws/message.native.js.map +1 -1
  196. package/dist/esm/solana.mjs.map +1 -1
  197. package/dist/esm/solana.native.js.map +1 -1
  198. package/dist/jsx/clients/evm.mjs +295 -12
  199. package/dist/jsx/clients/evm.mjs.map +1 -1
  200. package/dist/jsx/clients/evm.native.js +500 -12
  201. package/dist/jsx/clients/evm.native.js.map +1 -1
  202. package/dist/jsx/clients/index.mjs +2 -2
  203. package/dist/jsx/clients/index.mjs.map +1 -1
  204. package/dist/jsx/clients/index.native.js +5 -0
  205. package/dist/jsx/clients/index.native.js.map +1 -1
  206. package/dist/jsx/clients/solana.mjs +39 -21
  207. package/dist/jsx/clients/solana.mjs.map +1 -1
  208. package/dist/jsx/clients/solana.native.js +48 -23
  209. package/dist/jsx/clients/solana.native.js.map +1 -1
  210. package/dist/jsx/connectkit/GpgProvider.mjs +19 -0
  211. package/dist/jsx/connectkit/GpgProvider.mjs.map +1 -0
  212. package/dist/jsx/connectkit/GpgProvider.native.js +51 -0
  213. package/dist/jsx/connectkit/GpgProvider.native.js.map +1 -0
  214. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  215. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  216. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  217. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  218. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs +6 -15
  219. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  220. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js +7 -16
  221. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  222. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +5 -14
  223. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  224. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +5 -15
  225. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  226. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +5 -14
  227. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  228. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +5 -15
  229. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  230. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +1 -1
  231. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +2 -2
  232. package/dist/jsx/connectkit/index.mjs +3 -2
  233. package/dist/jsx/connectkit/index.mjs.map +1 -1
  234. package/dist/jsx/connectkit/index.native.js +4 -3
  235. package/dist/jsx/connectkit/index.native.js.map +1 -1
  236. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  237. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  238. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -4
  239. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  240. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +18 -3
  241. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  242. package/dist/jsx/index.js +1 -0
  243. package/dist/jsx/index.js.map +1 -1
  244. package/dist/jsx/index.mjs +1 -0
  245. package/dist/jsx/index.mjs.map +1 -1
  246. package/dist/jsx/index.native.js +1 -0
  247. package/dist/jsx/index.native.js.map +1 -1
  248. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +218 -0
  249. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  250. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js +33 -0
  251. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  252. package/dist/jsx/keycloak/browserFlow.mjs +58 -0
  253. package/dist/jsx/keycloak/browserFlow.mjs.map +1 -0
  254. package/dist/jsx/keycloak/browserFlow.native.js +90 -0
  255. package/dist/jsx/keycloak/browserFlow.native.js.map +1 -0
  256. package/dist/jsx/keycloak/device.mjs +10 -0
  257. package/dist/jsx/keycloak/device.mjs.map +1 -0
  258. package/dist/jsx/keycloak/device.native.js +45 -0
  259. package/dist/jsx/keycloak/device.native.js.map +1 -0
  260. package/dist/jsx/keycloak/directGrant.mjs +164 -0
  261. package/dist/jsx/keycloak/directGrant.mjs.map +1 -0
  262. package/dist/jsx/keycloak/directGrant.native.js +233 -0
  263. package/dist/jsx/keycloak/directGrant.native.js.map +1 -0
  264. package/dist/jsx/keycloak/iife.mjs +5 -0
  265. package/dist/jsx/keycloak/iife.mjs.map +1 -0
  266. package/dist/jsx/keycloak/iife.native.js +7 -0
  267. package/dist/jsx/keycloak/iife.native.js.map +1 -0
  268. package/dist/jsx/keycloak/index.mjs +13 -0
  269. package/dist/jsx/keycloak/index.mjs.map +1 -0
  270. package/dist/jsx/keycloak/index.native.js +56 -0
  271. package/dist/jsx/keycloak/index.native.js.map +1 -0
  272. package/dist/jsx/keycloak/keycloakWallet.mjs +186 -0
  273. package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -0
  274. package/dist/jsx/keycloak/keycloakWallet.native.js +285 -0
  275. package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -0
  276. package/dist/jsx/keycloak/mount.mjs +28 -0
  277. package/dist/jsx/keycloak/mount.mjs.map +1 -0
  278. package/dist/jsx/keycloak/mount.native.js +33 -0
  279. package/dist/jsx/keycloak/mount.native.js.map +1 -0
  280. package/dist/jsx/keycloak/registerWallet.mjs +49 -0
  281. package/dist/jsx/keycloak/registerWallet.mjs.map +1 -0
  282. package/dist/jsx/keycloak/registerWallet.native.js +81 -0
  283. package/dist/jsx/keycloak/registerWallet.native.js.map +1 -0
  284. package/dist/jsx/keycloak/types.mjs +20 -0
  285. package/dist/jsx/keycloak/types.mjs.map +1 -0
  286. package/dist/jsx/keycloak/types.native.js +179 -0
  287. package/dist/jsx/keycloak/types.native.js.map +1 -0
  288. package/dist/jsx/keycloak/useDirectLogin.mjs +32 -0
  289. package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -0
  290. package/dist/jsx/keycloak/useDirectLogin.native.js +77 -0
  291. package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -0
  292. package/dist/jsx/keycloak/useWalletLogin.mjs +72 -0
  293. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -0
  294. package/dist/jsx/keycloak/useWalletLogin.native.js +33 -0
  295. package/dist/jsx/keycloak/useWalletLogin.native.js.map +1 -0
  296. package/dist/jsx/message/buildWalletMessage.mjs +87 -0
  297. package/dist/jsx/message/buildWalletMessage.mjs.map +1 -0
  298. package/dist/jsx/message/buildWalletMessage.native.js +121 -0
  299. package/dist/jsx/message/buildWalletMessage.native.js.map +1 -0
  300. package/dist/jsx/message/index.mjs +3 -0
  301. package/dist/jsx/message/index.mjs.map +1 -0
  302. package/dist/jsx/message/index.native.js +32 -0
  303. package/dist/jsx/message/index.native.js.map +1 -0
  304. package/dist/jsx/providers/WalletProvider.mjs +9 -3
  305. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  306. package/dist/jsx/siws/message.mjs +5 -16
  307. package/dist/jsx/siws/message.mjs.map +1 -1
  308. package/dist/jsx/siws/message.native.js +6 -16
  309. package/dist/jsx/siws/message.native.js.map +1 -1
  310. package/dist/jsx/solana.mjs.map +1 -1
  311. package/dist/jsx/solana.native.js.map +1 -1
  312. package/dist/keycloak/login.iife.js +3604 -0
  313. package/package.json +27 -8
  314. package/src/clients/evm.spec.ts +644 -10
  315. package/src/clients/evm.ts +498 -10
  316. package/src/clients/index.ts +8 -0
  317. package/src/clients/solana.spec.ts +116 -0
  318. package/src/clients/solana.ts +51 -31
  319. package/src/connectkit/GpgProvider.tsx +16 -0
  320. package/src/connectkit/adapters/BitcoinAdapter.ts +5 -16
  321. package/src/connectkit/adapters/EthereumAdapter.ts +6 -17
  322. package/src/connectkit/adapters/SolanaAdapter.ts +5 -16
  323. package/src/connectkit/adapters/SuiAdapter.ts +5 -16
  324. package/src/connectkit/connectors/createWalletMessage.ts +1 -1
  325. package/src/connectkit/index.ts +2 -6
  326. package/src/connectkit/openConnector/modal.spec.tsx +1 -1
  327. package/src/connectkit/siwe/SIWEContext.tsx +6 -2
  328. package/src/connectkit/siwe/SIWEProvider.tsx +22 -5
  329. package/src/index.ts +3 -0
  330. package/src/keycloak/KeycloakWalletLogin.native.tsx +7 -0
  331. package/src/keycloak/KeycloakWalletLogin.spec.tsx +168 -0
  332. package/src/keycloak/KeycloakWalletLogin.tsx +251 -0
  333. package/src/keycloak/browserFlow.spec.ts +108 -0
  334. package/src/keycloak/browserFlow.ts +84 -0
  335. package/src/keycloak/device.ts +17 -0
  336. package/src/keycloak/directGrant.spec.ts +331 -0
  337. package/src/keycloak/directGrant.ts +214 -0
  338. package/src/keycloak/iife.ts +3 -0
  339. package/src/keycloak/index.ts +44 -0
  340. package/src/keycloak/keycloakWallet.spec.ts +216 -0
  341. package/src/keycloak/keycloakWallet.ts +275 -0
  342. package/src/keycloak/mount.native.ts +11 -0
  343. package/src/keycloak/mount.tsx +45 -0
  344. package/src/keycloak/nonceReset.spec.tsx +205 -0
  345. package/src/keycloak/registerWallet.spec.ts +88 -0
  346. package/src/keycloak/registerWallet.ts +59 -0
  347. package/src/keycloak/types.ts +66 -0
  348. package/src/keycloak/useDirectLogin.spec.tsx +112 -0
  349. package/src/keycloak/useDirectLogin.ts +74 -0
  350. package/src/keycloak/useWalletLogin.native.ts +7 -0
  351. package/src/keycloak/useWalletLogin.ts +99 -0
  352. package/src/message/buildWalletMessage.spec.ts +291 -0
  353. package/src/message/buildWalletMessage.ts +150 -0
  354. package/src/message/index.ts +8 -0
  355. package/src/providers/WalletProvider.tsx +15 -2
  356. package/src/siws/message.ts +3 -22
  357. package/src/solana.ts +1 -0
  358. package/types/clients/evm.d.ts +144 -2
  359. package/types/clients/evm.d.ts.map +1 -1
  360. package/types/clients/index.d.ts +1 -1
  361. package/types/clients/index.d.ts.map +1 -1
  362. package/types/clients/solana.d.ts +14 -5
  363. package/types/clients/solana.d.ts.map +1 -1
  364. package/types/connectkit/GpgProvider.d.ts +10 -0
  365. package/types/connectkit/GpgProvider.d.ts.map +1 -0
  366. package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
  367. package/types/connectkit/adapters/EthereumAdapter.d.ts.map +1 -1
  368. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  369. package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
  370. package/types/connectkit/connectors/createWalletMessage.d.ts +1 -1
  371. package/types/connectkit/connectors/createWalletMessage.d.ts.map +1 -1
  372. package/types/connectkit/index.d.ts +3 -2
  373. package/types/connectkit/index.d.ts.map +1 -1
  374. package/types/connectkit/siwe/SIWEContext.d.ts +2 -1
  375. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  376. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  377. package/types/index.d.ts +1 -0
  378. package/types/index.d.ts.map +1 -1
  379. package/types/keycloak/KeycloakWalletLogin.d.ts +45 -0
  380. package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -0
  381. package/types/keycloak/KeycloakWalletLogin.native.d.ts +4 -0
  382. package/types/keycloak/KeycloakWalletLogin.native.d.ts.map +1 -0
  383. package/types/keycloak/browserFlow.d.ts +27 -0
  384. package/types/keycloak/browserFlow.d.ts.map +1 -0
  385. package/types/keycloak/device.d.ts +14 -0
  386. package/types/keycloak/device.d.ts.map +1 -0
  387. package/types/keycloak/directGrant.d.ts +43 -0
  388. package/types/keycloak/directGrant.d.ts.map +1 -0
  389. package/types/keycloak/iife.d.ts +2 -0
  390. package/types/keycloak/iife.d.ts.map +1 -0
  391. package/types/keycloak/index.d.ts +12 -0
  392. package/types/keycloak/index.d.ts.map +1 -0
  393. package/types/keycloak/keycloakWallet.d.ts +120 -0
  394. package/types/keycloak/keycloakWallet.d.ts.map +1 -0
  395. package/types/keycloak/mount.d.ts +16 -0
  396. package/types/keycloak/mount.d.ts.map +1 -0
  397. package/types/keycloak/mount.native.d.ts +5 -0
  398. package/types/keycloak/mount.native.d.ts.map +1 -0
  399. package/types/keycloak/registerWallet.d.ts +22 -0
  400. package/types/keycloak/registerWallet.d.ts.map +1 -0
  401. package/types/keycloak/types.d.ts +50 -0
  402. package/types/keycloak/types.d.ts.map +1 -0
  403. package/types/keycloak/useDirectLogin.d.ts +29 -0
  404. package/types/keycloak/useDirectLogin.d.ts.map +1 -0
  405. package/types/keycloak/useWalletLogin.d.ts +26 -0
  406. package/types/keycloak/useWalletLogin.d.ts.map +1 -0
  407. package/types/keycloak/useWalletLogin.native.d.ts +4 -0
  408. package/types/keycloak/useWalletLogin.native.d.ts.map +1 -0
  409. package/types/message/buildWalletMessage.d.ts +46 -0
  410. package/types/message/buildWalletMessage.d.ts.map +1 -0
  411. package/types/message/index.d.ts +2 -0
  412. package/types/message/index.d.ts.map +1 -0
  413. package/types/providers/WalletProvider.d.ts +8 -1
  414. package/types/providers/WalletProvider.d.ts.map +1 -1
  415. package/types/siws/message.d.ts.map +1 -1
  416. package/types/solana.d.ts +1 -1
  417. package/types/solana.d.ts.map +1 -1
  418. package/dist/cjs/connectkit/adapters/messages.cjs +0 -73
  419. package/dist/cjs/connectkit/adapters/messages.native.js +0 -79
  420. package/dist/cjs/connectkit/adapters/messages.native.js.map +0 -1
  421. package/dist/esm/connectkit/adapters/messages.mjs +0 -48
  422. package/dist/esm/connectkit/adapters/messages.mjs.map +0 -1
  423. package/dist/esm/connectkit/adapters/messages.native.js +0 -51
  424. package/dist/esm/connectkit/adapters/messages.native.js.map +0 -1
  425. package/dist/jsx/connectkit/adapters/messages.mjs +0 -48
  426. package/dist/jsx/connectkit/adapters/messages.mjs.map +0 -1
  427. package/dist/jsx/connectkit/adapters/messages.native.js +0 -79
  428. package/dist/jsx/connectkit/adapters/messages.native.js.map +0 -1
  429. package/src/connectkit/adapters/messages.ts +0 -84
  430. package/types/connectkit/adapters/messages.d.ts +0 -16
  431. package/types/connectkit/adapters/messages.d.ts.map +0 -1
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var registerWallet_exports = {};
26
+ __export(registerWallet_exports, {
27
+ createWalletRegistration: () => createWalletRegistration
28
+ });
29
+ module.exports = __toCommonJS(registerWallet_exports);
30
+ var import_types = require("./types.native.js");
31
+ function createWalletRegistration(kc, opts) {
32
+ var registration = {
33
+ async register(param) {
34
+ var {
35
+ message,
36
+ signature
37
+ } = param;
38
+ var accessToken = typeof opts.accessToken === "function" ? await opts.accessToken() : opts.accessToken;
39
+ if (!accessToken) throw new Error("registerWallet needs a signed-in user's access token");
40
+ try {
41
+ var res = await kc.request(`${kc.resourceUrl}/register`, {
42
+ method: "POST",
43
+ headers: {
44
+ authorization: `Bearer ${accessToken}`,
45
+ "content-type": "application/json"
46
+ },
47
+ body: JSON.stringify({
48
+ message,
49
+ signature
50
+ })
51
+ });
52
+ var data = await res.json().catch(function () {
53
+ return {};
54
+ });
55
+ if (!res.ok) {
56
+ throw new import_types.KeycloakWalletError(data.message || `Keycloak wallet register failed (${res.status})`, res.status, {
57
+ error: data.message
58
+ });
59
+ }
60
+ return {
61
+ registered: Boolean(data.registered)
62
+ };
63
+ } finally {
64
+ kc.resetNonce();
65
+ }
66
+ },
67
+ onSign: async function onSign(param) {
68
+ var {
69
+ username,
70
+ message
71
+ } = param;
72
+ await registration.register({
73
+ message,
74
+ signature: username
75
+ });
76
+ return true;
77
+ }
78
+ };
79
+ return registration;
80
+ }
81
+ //# sourceMappingURL=registerWallet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","registerWallet_exports","createWalletRegistration","module","exports","import_types","require","kc","opts","registration","register","param","message","signature","accessToken","Error","res","request","resourceUrl","method","headers","authorization"],"sources":["../../../src/keycloak/registerWallet.ts"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AAiBF,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cACd;AAGA,IAAAC,gBAAM,GAAmCF,MAAA,CAAAG,wBAAA;AAAA,IACvCC,iBAAiB,GAAAJ,MAAS,CAAAK,mBAAa;AACrC,IAAAC,YAAM,GAAAN,MAAA,CACJO,SAAO,CAAAC,cAAK;AACd,IAAAC,QAAK,GAAAA,CAAAC,MAAA,EAAaC,GAAA,KAAM;EACxB,SAAIC,IAAA,IAAAD,GAAA,EACFZ,SAAA,CAAMW,MAAM,EAAAE,IAAM;IAAGC,GAAA,EAAAF,GAAQ,CAAAC,IAAM;IAAAE,UAAW;EAAA;AAAa;AACjD,IAAAC,WACR,GAAAA,CAASC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAAA,IAAAF,IAAA,IACP,OAAAA,IAAA,KAAe,QAAU,WAAWA,IAAA;IAAA,SACpCG,GAAA,IAAAhB,iBAAgB,CAAAa,IAAA,OAClB,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAAAnB,SACM,CAAAiB,EAAA,EAAKI,GAAA;MAAAP,GAAU,EAAEA,CAAA,KAAAI,IAAS,CAAAG,GAAA;MAAAN,UAAW,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EAE7C,OAAAE,EAAA;AAIA;AACE,IAAAM,YAAM,GAAIC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IAAAE,sBACH,GAAW;AAA8ChB,QAAA,CAAAgB,sBAC1D;EAAAC,wBACU,EAAAA,CAAA,KAAQA;AAAA;AACxBC,MAAA,CAAAC,OACF,GAAAN,YAAA,CAAAG,sBAAA;AACA,IAAAI,YAAO,GAAEC,OAAA,oBAAY,CAAQ;AAAiB,SAChDJ,wBAAEA,CAAAK,EAAA,EAAAC,IAAA;EACA,IAAAC,YAAG;IAAW,MAChBC,SAAAC,KAAA;MACF;QAAAC,OAAA;QAAAC;MAAA,IAAAF,KAAA;MACA,IAAAG,WAAiB,UAAUN,IAAA,CAAAM,WAAc,wBAAAN,IAAA,CAAAM,WAAA,KAAAN,IAAA,CAAAM,WAAA;MACvC,KAAAA,WAAM,QAAa,IAASC,KAAE,uDAA8B;MAC5D;QACF,IAAAC,GAAA,SAAAT,EAAA,CAAAU,OAAA,IAAAV,EAAA,CAAAW,WAAA;UACFC,MAAA;UACOC,OAAA;YACTC,aAAA,YAAAP,WAAA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ class KeycloakWalletError extends Error {
2
+ status;
3
+ error;
4
+ errorDescription;
5
+ constructor(message, status, details = {}) {
6
+ super(message);
7
+ this.name = "KeycloakWalletError";
8
+ this.status = status;
9
+ this.error = details.error;
10
+ this.errorDescription = details.errorDescription;
11
+ }
12
+ }
13
+ class ProfileIncompleteError extends KeycloakWalletError {
14
+ constructor(message, status, details = {}) {
15
+ super(message, status, details);
16
+ this.name = "ProfileIncompleteError";
17
+ }
18
+ }
19
+ export { KeycloakWalletError, ProfileIncompleteError };
20
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KeycloakWalletError","Error","status","error","errorDescription","constructor","message","details","name","ProfileIncompleteError"],"sources":["../../../src/keycloak/types.ts"],"sourcesContent":[null],"mappings":"AA8BO,MAAMA,mBAAA,SAA4BC,KAAA,CAAM;EACpCC,MAAA;EACAC,KAAA;EACAC,gBAAA;EAETC,YACEC,OAAA,EACAJ,MAAA,EACAK,OAAA,GAAyD,CAAC,GAC1D;IACA,MAAMD,OAAO;IACb,KAAKE,IAAA,GAAO;IACZ,KAAKN,MAAA,GAASA,MAAA;IACd,KAAKC,KAAA,GAAQI,OAAA,CAAQJ,KAAA;IACrB,KAAKC,gBAAA,GAAmBG,OAAA,CAAQH,gBAAA;EAClC;AACF;AAUO,MAAMK,sBAAA,SAA+BT,mBAAA,CAAoB;EAC9DK,YACEC,OAAA,EACAJ,MAAA,EACAK,OAAA,GAAyD,CAAC,GAC1D;IACA,MAAMD,OAAA,EAASJ,MAAA,EAAQK,OAAO;IAC9B,KAAKC,IAAA,GAAO;EACd;AACF","ignoreList":[]}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var types_exports = {};
26
+ __export(types_exports, {
27
+ KeycloakWalletError: () => KeycloakWalletError,
28
+ ProfileIncompleteError: () => ProfileIncompleteError
29
+ });
30
+ module.exports = __toCommonJS(types_exports);
31
+ function _assert_this_initialized(self) {
32
+ if (self === void 0) {
33
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
34
+ }
35
+ return self;
36
+ }
37
+ function _call_super(_this, derived, args) {
38
+ derived = _get_prototype_of(derived);
39
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
40
+ }
41
+ function _class_call_check(instance, Constructor) {
42
+ if (!(instance instanceof Constructor)) {
43
+ throw new TypeError("Cannot call a class as a function");
44
+ }
45
+ }
46
+ function _construct(Parent, args, Class) {
47
+ if (_is_native_reflect_construct()) {
48
+ _construct = Reflect.construct;
49
+ } else {
50
+ _construct = function construct(Parent2, args2, Class2) {
51
+ var a = [null];
52
+ a.push.apply(a, args2);
53
+ var Constructor = Function.bind.apply(Parent2, a);
54
+ var instance = new Constructor();
55
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
56
+ return instance;
57
+ };
58
+ }
59
+ return _construct.apply(null, arguments);
60
+ }
61
+ function _define_property(obj, key, value) {
62
+ if (key in obj) {
63
+ Object.defineProperty(obj, key, {
64
+ value,
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true
68
+ });
69
+ } else {
70
+ obj[key] = value;
71
+ }
72
+ return obj;
73
+ }
74
+ function _get_prototype_of(o) {
75
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
76
+ return o2.__proto__ || Object.getPrototypeOf(o2);
77
+ };
78
+ return _get_prototype_of(o);
79
+ }
80
+ function _inherits(subClass, superClass) {
81
+ if (typeof superClass !== "function" && superClass !== null) {
82
+ throw new TypeError("Super expression must either be null or a function");
83
+ }
84
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
85
+ constructor: {
86
+ value: subClass,
87
+ writable: true,
88
+ configurable: true
89
+ }
90
+ });
91
+ if (superClass) _set_prototype_of(subClass, superClass);
92
+ }
93
+ function _is_native_function(fn) {
94
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
95
+ }
96
+ function _possible_constructor_return(self, call) {
97
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
98
+ return call;
99
+ }
100
+ return _assert_this_initialized(self);
101
+ }
102
+ function _set_prototype_of(o, p) {
103
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
104
+ o2.__proto__ = p2;
105
+ return o2;
106
+ };
107
+ return _set_prototype_of(o, p);
108
+ }
109
+ function _type_of(obj) {
110
+ "@swc/helpers - typeof";
111
+
112
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
113
+ }
114
+ function _wrap_native_super(Class) {
115
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
116
+ _wrap_native_super = function wrapNativeSuper(Class2) {
117
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
118
+ if (typeof Class2 !== "function") {
119
+ throw new TypeError("Super expression must either be null or a function");
120
+ }
121
+ if (typeof _cache !== "undefined") {
122
+ if (_cache.has(Class2)) return _cache.get(Class2);
123
+ _cache.set(Class2, Wrapper);
124
+ }
125
+ function Wrapper() {
126
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
127
+ }
128
+ Wrapper.prototype = Object.create(Class2.prototype, {
129
+ constructor: {
130
+ value: Wrapper,
131
+ enumerable: false,
132
+ writable: true,
133
+ configurable: true
134
+ }
135
+ });
136
+ return _set_prototype_of(Wrapper, Class2);
137
+ };
138
+ return _wrap_native_super(Class);
139
+ }
140
+ function _is_native_reflect_construct() {
141
+ try {
142
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
143
+ } catch (_) {}
144
+ return (_is_native_reflect_construct = function () {
145
+ return !!result;
146
+ })();
147
+ }
148
+ var KeycloakWalletError = /* @__PURE__ */function (Error1) {
149
+ "use strict";
150
+
151
+ _inherits(KeycloakWalletError2, Error1);
152
+ function KeycloakWalletError2(message, status) {
153
+ var details = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
154
+ _class_call_check(this, KeycloakWalletError2);
155
+ var _this;
156
+ _this = _call_super(this, KeycloakWalletError2, [message]), _define_property(_this, "status", void 0), _define_property(_this, "error", void 0), _define_property(_this, "errorDescription", void 0);
157
+ _this.name = "KeycloakWalletError";
158
+ _this.status = status;
159
+ _this.error = details.error;
160
+ _this.errorDescription = details.errorDescription;
161
+ return _this;
162
+ }
163
+ return KeycloakWalletError2;
164
+ }(_wrap_native_super(Error));
165
+ var ProfileIncompleteError = /* @__PURE__ */function (KeycloakWalletError2) {
166
+ "use strict";
167
+
168
+ _inherits(ProfileIncompleteError2, KeycloakWalletError2);
169
+ function ProfileIncompleteError2(message, status) {
170
+ var details = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
171
+ _class_call_check(this, ProfileIncompleteError2);
172
+ var _this;
173
+ _this = _call_super(this, ProfileIncompleteError2, [message, status, details]);
174
+ _this.name = "ProfileIncompleteError";
175
+ return _this;
176
+ }
177
+ return ProfileIncompleteError2;
178
+ }(KeycloakWalletError);
179
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value"],"sources":["../../../src/keycloak/types.ts"],"sourcesContent":[null],"mappings":"AA8BO,YAAM;;AAAkC,IACpCA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IAETC,YACE,GAAAN,MACA,CAAAO,SACA,CAAAC,cACA;AACA,IAAAC,QAAM,GAAAA,CAAAC,MAAO,EAAAC,GAAA;EACb,SAAKC,IAAA,IAAOD,GAAA,EACZZ,SAAK,CAAAW,MAAS,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AACd;AACA,IAAAC,WAAK,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAmBC,MAAA,EAAQC,IAAA;EAClC,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACF,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GAUa,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,CAA+B,IAAAA,GAAA,KAAAF,MAAA,EAC1CnB,SACE,CAAAiB,EAAA,EAAAI,GACA;MAAAP,GACA,EAAAA,CAAA,KAAAI,IAA0D,CAC1DG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACA;EACA,OAAKE,EAAA;AAAO;AAEhB,IAAAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import { useCallback, useContext, useState, useSyncExternalStore } from "react";
2
+ import { SIWEContext } from "../connectkit/siwe/SIWEContext.mjs";
3
+ import { ProfileIncompleteError } from "./types.mjs";
4
+ function useDirectLogin(grant) {
5
+ const siwe = useContext(SIWEContext);
6
+ const state = useSyncExternalStore(grant.subscribe, () => grant.state, () => grant.state);
7
+ const [signing, setSigning] = useState(false);
8
+ const signIn = useCallback(async () => {
9
+ if (!siwe) throw new Error("useDirectLogin must be used inside a SIWEProvider");
10
+ if (siwe.onSign !== grant.onSign) {
11
+ throw new Error("useDirectLogin: the SIWEProvider's onSign is not this grant's");
12
+ }
13
+ setSigning(true);
14
+ try {
15
+ const result = await siwe.signIn();
16
+ return result === false ? null : grant.tokens;
17
+ } finally {
18
+ setSigning(false);
19
+ }
20
+ }, [siwe, grant]);
21
+ const status = signing ? "signing" : state.tokens ? "signed-in" : state.error instanceof ProfileIncompleteError ? "profile-incomplete" : state.error ? "error" : "idle";
22
+ return {
23
+ status,
24
+ tokens: state.tokens,
25
+ error: state.error,
26
+ signIn,
27
+ refresh: useCallback(() => grant.refresh(), [grant]),
28
+ signOut: useCallback(() => grant.logout(), [grant])
29
+ };
30
+ }
31
+ export { useDirectLogin };
32
+ //# sourceMappingURL=useDirectLogin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useContext","useState","useSyncExternalStore","SIWEContext","ProfileIncompleteError","useDirectLogin","grant","siwe","state","subscribe","signing","setSigning","signIn","Error","onSign","result","tokens","status","error","refresh","signOut","logout"],"sources":["../../../src/keycloak/useDirectLogin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,EAAaC,UAAA,EAAYC,QAAA,EAAUC,oBAAA,QAA4B;AACxE,SAASC,WAAA,QAAmB;AAE5B,SAASC,sBAAA,QAAmD;AA6BrD,SAASC,eAAeC,KAAA,EAA0C;EACvE,MAAMC,IAAA,GAAOP,UAAA,CAAWG,WAAW;EACnC,MAAMK,KAAA,GAAQN,oBAAA,CACZI,KAAA,CAAMG,SAAA,EACN,MAAMH,KAAA,CAAME,KAAA,EACZ,MAAMF,KAAA,CAAME,KACd;EACA,MAAM,CAACE,OAAA,EAASC,UAAU,IAAIV,QAAA,CAAS,KAAK;EAE5C,MAAMW,MAAA,GAASb,WAAA,CAAY,YAAY;IACrC,IAAI,CAACQ,IAAA,EAAM,MAAM,IAAIM,KAAA,CAAM,mDAAmD;IAC9E,IAAIN,IAAA,CAAKO,MAAA,KAAWR,KAAA,CAAMQ,MAAA,EAAQ;MAChC,MAAM,IAAID,KAAA,CAAM,+DAA+D;IACjF;IACAF,UAAA,CAAW,IAAI;IACf,IAAI;MACF,MAAMI,MAAA,GAAS,MAAMR,IAAA,CAAKK,MAAA,CAAO;MACjC,OAAOG,MAAA,KAAW,QAAQ,OAAOT,KAAA,CAAMU,MAAA;IACzC,UAAE;MACAL,UAAA,CAAW,KAAK;IAClB;EACF,GAAG,CAACJ,IAAA,EAAMD,KAAK,CAAC;EAEhB,MAAMW,MAAA,GAA4BP,OAAA,GAC9B,YACAF,KAAA,CAAMQ,MAAA,GACJ,cACAR,KAAA,CAAMU,KAAA,YAAiBd,sBAAA,GACrB,uBACAI,KAAA,CAAMU,KAAA,GACJ,UACA;EAEV,OAAO;IACLD,MAAA;IACAD,MAAA,EAAQR,KAAA,CAAMQ,MAAA;IACdE,KAAA,EAAOV,KAAA,CAAMU,KAAA;IACbN,MAAA;IACAO,OAAA,EAASpB,WAAA,CAAY,MAAMO,KAAA,CAAMa,OAAA,CAAQ,GAAG,CAACb,KAAK,CAAC;IACnDc,OAAA,EAASrB,WAAA,CAAY,MAAMO,KAAA,CAAMe,MAAA,CAAO,GAAG,CAACf,KAAK,CAAC;EACpD;AACF","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useDirectLogin_exports = {};
26
+ __export(useDirectLogin_exports, {
27
+ useDirectLogin: () => useDirectLogin
28
+ });
29
+ module.exports = __toCommonJS(useDirectLogin_exports);
30
+ var import_react = require("react");
31
+ var import_SIWEContext = require("../connectkit/siwe/SIWEContext.native.js");
32
+ var import_types = require("./types.native.js");
33
+ function _instanceof(left, right) {
34
+ "@swc/helpers - instanceof";
35
+
36
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
37
+ return !!right[Symbol.hasInstance](left);
38
+ } else {
39
+ return left instanceof right;
40
+ }
41
+ }
42
+ function useDirectLogin(grant) {
43
+ var siwe = (0, import_react.useContext)(import_SIWEContext.SIWEContext);
44
+ var state = (0, import_react.useSyncExternalStore)(grant.subscribe, function () {
45
+ return grant.state;
46
+ }, function () {
47
+ return grant.state;
48
+ });
49
+ var [signing, setSigning] = (0, import_react.useState)(false);
50
+ var signIn = (0, import_react.useCallback)(async function () {
51
+ if (!siwe) throw new Error("useDirectLogin must be used inside a SIWEProvider");
52
+ if (siwe.onSign !== grant.onSign) {
53
+ throw new Error("useDirectLogin: the SIWEProvider's onSign is not this grant's");
54
+ }
55
+ setSigning(true);
56
+ try {
57
+ var result = await siwe.signIn();
58
+ return result === false ? null : grant.tokens;
59
+ } finally {
60
+ setSigning(false);
61
+ }
62
+ }, [siwe, grant]);
63
+ var status = signing ? "signing" : state.tokens ? "signed-in" : _instanceof(state.error, import_types.ProfileIncompleteError) ? "profile-incomplete" : state.error ? "error" : "idle";
64
+ return {
65
+ status,
66
+ tokens: state.tokens,
67
+ error: state.error,
68
+ signIn,
69
+ refresh: (0, import_react.useCallback)(function () {
70
+ return grant.refresh();
71
+ }, [grant]),
72
+ signOut: (0, import_react.useCallback)(function () {
73
+ return grant.logout();
74
+ }, [grant])
75
+ };
76
+ }
77
+ //# sourceMappingURL=useDirectLogin.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useDirectLogin_exports","useDirectLogin","module","exports","import_react","require","import_SIWEContext","import_types","_instanceof","left","right","Symbol","hasInstance"],"sources":["../../../src/keycloak/useDirectLogin.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAmB;AAE5B,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAmD;AA6BrD,IAAAC,iBAAS,GAAeJ,MAAA,CAA0CK,mBAAA;AACvE,IAAAC,YAAa,GAAAN,MAAA,CAAWO,SAAA,CAAAC,cAAW;AACnC,IAAAC,QAAM,GAAAA,CAAQC,MAAA,EAAAC,GAAA;EAAA,KACZ,IAAMC,IAAA,IAAAD,GAAA,EACNZ,SAAM,CAAAW,MAAM,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACdC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAO,WAASA,IAAA,KAAU,QAAI,IAAS,OAAKA,IAAA;IAE5C,KAAM,IAAAG,GAAA,IAAShB,iBAAY,CAAAa,IAAY,GACrC,IAAK,CAAAX,YAAY,CAAAe,IAAI,CAAAL,EAAM,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACvBnB,SAAK,CAAAiB,EAAA,EAAAI,GAAW;MAAAP,GAAM,EAAAA,CAAA,KAAQI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAChC;EAA+E,OACjFE,EAAA;AACA;AACA,IAAAM,YAAI,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACF,IAAAE,sBAAe,GAAM;AACrBhB,QAAA,CAAAgB,sBAAkB,EAAQ;EAAaC,cACvC,EAAAA,CAAA,KAAAA;AACA;AAAgBC,MAClB,CAAAC,OAAA,GAAAN,YAAA,CAAAG,sBAAA;AAAA,IACFI,YAAU,GAAMC,OAAA;AAEhB,IAAAC,kBAAkC,GAAAD,OAC9B,2CAEE;AAON,IAAAE,YAAO,GAAAF,OAAA;AAAA,SACLG,YAAAC,IAAA,EAAAC,KAAA;EAAA,2BACc;;EAAA,IACdA,KAAO,QAAM,WAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACb,SAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EAAA,OACA;IACA,OAAAA,IAAS,YAAYC,KAAM;EAC7B;AACF","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ import { useModal } from "@multiplatform.one/connectkit";
2
+ import { useCallback, useContext, useEffect, useRef } from "react";
3
+ import { useAccount } from "wagmi";
4
+ import { useConnectorLauncher } from "../connectkit/openConnector/index.mjs";
5
+ import { SIWEContext, StatusState } from "../connectkit/siwe/SIWEContext.mjs";
6
+ import { hasUserActivation, isMobileBrowser } from "./device.mjs";
7
+ function readIntent(key, ttl) {
8
+ try {
9
+ const raw = globalThis.sessionStorage?.getItem(key);
10
+ if (raw === null || raw === void 0) return false;
11
+ globalThis.sessionStorage.removeItem(key);
12
+ const at = Number(raw);
13
+ return Number.isFinite(at) && Date.now() - at < ttl;
14
+ } catch {
15
+ return false;
16
+ }
17
+ }
18
+ function writeIntent(key, value) {
19
+ try {
20
+ if (value === null) globalThis.sessionStorage?.removeItem(key);else globalThis.sessionStorage?.setItem(key, value);
21
+ } catch {}
22
+ }
23
+ function useWalletLogin(opts = {}) {
24
+ const {
25
+ intentKey = "mpo:wallet-login-intent",
26
+ intentTtlMs = 9e4
27
+ } = opts;
28
+ const siwe = useContext(SIWEContext);
29
+ const {
30
+ setOpen
31
+ } = useModal();
32
+ const launcher = useConnectorLauncher();
33
+ const {
34
+ address,
35
+ isConnected
36
+ } = useAccount();
37
+ const signingRef = useRef(false);
38
+ const sign = useCallback(async () => {
39
+ if (!siwe) throw new Error("useWalletLogin must be used inside a SIWEProvider");
40
+ if (signingRef.current) return;
41
+ signingRef.current = true;
42
+ try {
43
+ await siwe.signIn();
44
+ } finally {
45
+ signingRef.current = false;
46
+ }
47
+ }, [siwe]);
48
+ const login = useCallback(async () => {
49
+ if (isConnected) {
50
+ await sign();
51
+ return;
52
+ }
53
+ writeIntent(intentKey, String(Date.now()));
54
+ if (launcher?.openPreferredConnector()) return;
55
+ setOpen(true);
56
+ }, [isConnected, sign, intentKey, setOpen, launcher]);
57
+ useEffect(() => {
58
+ if (!isConnected || !readIntent(intentKey, intentTtlMs)) return;
59
+ if (isMobileBrowser() && !hasUserActivation()) return;
60
+ setOpen(false);
61
+ void sign();
62
+ }, [isConnected, intentKey, intentTtlMs, setOpen, sign]);
63
+ useEffect(() => () => writeIntent(intentKey, null), [intentKey]);
64
+ return {
65
+ login,
66
+ status: siwe?.status ?? StatusState.ERROR,
67
+ isConnected,
68
+ address
69
+ };
70
+ }
71
+ export { useWalletLogin };
72
+ //# sourceMappingURL=useWalletLogin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useModal","useCallback","useContext","useEffect","useRef","useAccount","useConnectorLauncher","SIWEContext","StatusState","hasUserActivation","isMobileBrowser","readIntent","key","ttl","raw","globalThis","sessionStorage","getItem","removeItem","at","Number","isFinite","Date","now","writeIntent","value","setItem","useWalletLogin","opts","intentKey","intentTtlMs","siwe","setOpen","launcher","address","isConnected","signingRef","sign","Error","current","signIn","login","String","openPreferredConnector","status","ERROR"],"sources":["../../../src/keycloak/useWalletLogin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useWalletLogin_native_exports = {};
26
+ __export(useWalletLogin_native_exports, {
27
+ useWalletLogin: () => useWalletLogin
28
+ });
29
+ module.exports = __toCommonJS(useWalletLogin_native_exports);
30
+ function useWalletLogin(_opts) {
31
+ throw new Error("useWalletLogin is web only; a native app signs in with useDirectLogin");
32
+ }
33
+ //# sourceMappingURL=useWalletLogin.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useWalletLogin_native_exports","__export","useWalletLogin","module","exports","__toCommonJS","_opts","Error"],"sources":["../../../src/keycloak/useWalletLogin.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,6BAAA;AAAO,SAASE,eAAeI,KAAA,EAAO;EAClC,MAAM,IAAIC,KAAA,CAAM,uEAAuE;AAC3F","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ import { getAddress } from "viem";
2
+ const specs = {
3
+ eth: {
4
+ header: "wants you to sign in with your Ethereum account:",
5
+ statement: "Sign in With Ethereum.",
6
+ chainId: "1",
7
+ normalize: address => getAddress(address)
8
+ },
9
+ sol: {
10
+ header: "wants you to sign in with your Solana account:",
11
+ statement: "Sign in With Solana.",
12
+ chainId: "solana:mainnet"
13
+ },
14
+ sui: {
15
+ header: "wants you to sign in with your Sui account:",
16
+ statement: "Sign in With Sui.",
17
+ chainId: "sui:mainnet"
18
+ },
19
+ btc: {
20
+ header: "wants you to sign in with your Bitcoin account:",
21
+ statement: "Sign in With Bitcoin.",
22
+ chainId: "bitcoin"
23
+ },
24
+ gpg: {
25
+ header: "wants you to sign in with your GPG key.",
26
+ statement: null,
27
+ chainId: null
28
+ }
29
+ };
30
+ const aliases = {
31
+ eth: "eth",
32
+ sol: "sol",
33
+ sui: "sui",
34
+ btc: "btc",
35
+ gpg: "gpg",
36
+ evm: "eth",
37
+ solana: "sol",
38
+ bitcoin: "btc"
39
+ };
40
+ function toWalletMessageFamily(family) {
41
+ const resolved = aliases[family];
42
+ if (!resolved) throw new Error(`unknown wallet message family: ${String(family)}`);
43
+ return resolved;
44
+ }
45
+ function singleLine(field, value) {
46
+ if (value && /[\r\n]/.test(value)) {
47
+ throw new Error(`buildWalletMessage: ${field} must be a single line`);
48
+ }
49
+ }
50
+ function pageLocation() {
51
+ const location = globalThis.location;
52
+ return {
53
+ host: location?.host ?? "",
54
+ origin: location?.origin ?? ""
55
+ };
56
+ }
57
+ function buildWalletMessage(family, opts) {
58
+ const key = toWalletMessageFamily(family);
59
+ const spec = specs[key];
60
+ const page = pageLocation();
61
+ const domain = opts.domain ?? page.host;
62
+ if (!domain) {
63
+ throw new Error("buildWalletMessage: no domain. Pass opts.domain; a file:// or native page has no host.");
64
+ }
65
+ const pageOrigin = page.origin && page.origin !== "null" ? page.origin : "";
66
+ const uri = opts.uri ?? (pageOrigin || `https://${domain}`);
67
+ const statement = opts.statement === void 0 ? spec.statement : opts.statement;
68
+ singleLine("domain", domain);
69
+ singleLine("uri", uri);
70
+ singleLine("statement", statement);
71
+ const lines = [`${domain} ${spec.header}`];
72
+ if (key !== "gpg") {
73
+ if (!opts.address) throw new Error(`buildWalletMessage: ${key} needs an address`);
74
+ lines.push(spec.normalize ? spec.normalize(opts.address) : opts.address);
75
+ }
76
+ lines.push("");
77
+ if (statement) lines.push(statement, "");else if (key === "eth") lines.push("");
78
+ lines.push(`URI: ${uri}`, `Version: ${opts.version ?? "1"}`);
79
+ if (spec.chainId !== null) {
80
+ const chainId = key === "eth" ? opts.chainId ?? spec.chainId : typeof opts.chainId === "string" ? opts.chainId : spec.chainId;
81
+ lines.push(`Chain ID: ${chainId}`);
82
+ }
83
+ lines.push(`Nonce: ${opts.nonce}`, `Issued At: ${opts.issuedAt ?? (/* @__PURE__ */new Date()).toISOString()}`);
84
+ return lines.join("\n");
85
+ }
86
+ export { buildWalletMessage, toWalletMessageFamily };
87
+ //# sourceMappingURL=buildWalletMessage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAddress","specs","eth","header","statement","chainId","normalize","address","sol","sui","btc","gpg","aliases","evm","solana","bitcoin","toWalletMessageFamily","family","resolved","Error","String","singleLine","field","value","test","pageLocation","location","globalThis","host","origin","buildWalletMessage","opts","key","spec","page","domain","pageOrigin","uri","lines","push","version","nonce","issuedAt","Date","toISOString","join"],"sources":["../../../src/message/buildWalletMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}