@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,254 @@
1
+ import { sha256 } from "viem";
2
+ import { bytesToBase64 } from "../bridge/base64.native.js";
3
+ import { createWalletMessage } from "../connectkit/connectors/createWalletMessage.native.js";
4
+ import { buildWalletMessage } from "../message/index.native.js";
5
+ import { browserFlow } from "./browserFlow.native.js";
6
+ import { createDirectGrant } from "./directGrant.native.js";
7
+ import { createWalletRegistration } from "./registerWallet.native.js";
8
+ import { KeycloakWalletError } from "./types.native.js";
9
+ var sessionCookie = /(KEYCLOAK_SESSION_[A-Z]+)=([^;,\s]+)/;
10
+ function readSessionCookie(res) {
11
+ var _ref, _headers_get;
12
+ var _headers_getSetCookie;
13
+ var headers = res.headers;
14
+ var values = (_ref = (_headers_getSetCookie = headers.getSetCookie) === null || _headers_getSetCookie === void 0 ? void 0 : _headers_getSetCookie.call(headers)) !== null && _ref !== void 0 ? _ref : [(_headers_get = headers.get("set-cookie")) !== null && _headers_get !== void 0 ? _headers_get : ""];
15
+ var _iteratorNormalCompletion = true,
16
+ _didIteratorError = false,
17
+ _iteratorError = void 0;
18
+ try {
19
+ for (var _iterator = values[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
20
+ var value = _step.value;
21
+ var match = value.match(sessionCookie);
22
+ if (match) return `${match[1]}=${match[2]}`;
23
+ }
24
+ } catch (err) {
25
+ _didIteratorError = true;
26
+ _iteratorError = err;
27
+ } finally {
28
+ try {
29
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
30
+ _iterator.return();
31
+ }
32
+ } finally {
33
+ if (_didIteratorError) {
34
+ throw _iteratorError;
35
+ }
36
+ }
37
+ }
38
+ return void 0;
39
+ }
40
+ var base64Url = function base64Url2(bytes) {
41
+ return bytesToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
42
+ };
43
+ function randomBase64Url(size) {
44
+ var crypto = globalThis.crypto;
45
+ if (!(crypto === null || crypto === void 0 ? void 0 : crypto.getRandomValues)) {
46
+ throw new Error("browserLoginUrl needs crypto.getRandomValues (react-native-get-random-values on Hermes)");
47
+ }
48
+ return base64Url(crypto.getRandomValues(new Uint8Array(size)));
49
+ }
50
+ function pkceChallenge(codeVerifier) {
51
+ return base64Url(sha256(new TextEncoder().encode(codeVerifier), "bytes"));
52
+ }
53
+ function toCredentials(args) {
54
+ return {
55
+ username: args.signature,
56
+ password: bytesToBase64(new TextEncoder().encode(args.message)),
57
+ message: args.message
58
+ };
59
+ }
60
+ function keycloakWallet(options) {
61
+ var _options_resource, _options_fetch;
62
+ var baseUrl = options.baseUrl.replace(/\/+$/, "");
63
+ var resource = (_options_resource = options.resource) !== null && _options_resource !== void 0 ? _options_resource : "siww";
64
+ var realmUrl = `${baseUrl}/realms/${encodeURIComponent(options.realm)}`;
65
+ var resourceUrl = `${realmUrl}/${resource}`;
66
+ var tokenUrl = `${realmUrl}/protocol/openid-connect/token`;
67
+ var fetchImpl = (_options_fetch = options.fetch) !== null && _options_fetch !== void 0 ? _options_fetch : function (input, init) {
68
+ return globalThis.fetch(input, init);
69
+ };
70
+ var cookie;
71
+ var nonce;
72
+ var nonceListeners = /* @__PURE__ */new Set();
73
+ var request = function request2(url) {
74
+ var init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
75
+ var headers = new Headers(init.headers);
76
+ if (cookie && !headers.has("cookie")) headers.set("cookie", cookie);
77
+ return fetchImpl(url, {
78
+ credentials: "include",
79
+ ...init,
80
+ headers
81
+ });
82
+ };
83
+ var fetchNonce = async function fetchNonce2() {
84
+ var _readSessionCookie;
85
+ var res = await request(`${resourceUrl}/nonce`);
86
+ if (!res.ok) {
87
+ throw new KeycloakWalletError(`Keycloak nonce request failed (${res.status})`, res.status);
88
+ }
89
+ cookie = (_readSessionCookie = readSessionCookie(res)) !== null && _readSessionCookie !== void 0 ? _readSessionCookie : cookie;
90
+ var value = (await res.text()).trim();
91
+ if (!value) throw new KeycloakWalletError("Keycloak returned an empty nonce", res.status);
92
+ return value;
93
+ };
94
+ var kc = {
95
+ baseUrl,
96
+ realm: options.realm,
97
+ resource,
98
+ realmUrl,
99
+ resourceUrl,
100
+ tokenUrl,
101
+ request,
102
+ getNonce() {
103
+ if (!nonce) {
104
+ var pending = fetchNonce();
105
+ nonce = pending;
106
+ pending.catch(function () {
107
+ if (nonce === pending) nonce = void 0;
108
+ });
109
+ }
110
+ return nonce;
111
+ },
112
+ resetNonce() {
113
+ nonce = void 0;
114
+ var _iteratorNormalCompletion = true,
115
+ _didIteratorError = false,
116
+ _iteratorError = void 0;
117
+ try {
118
+ for (var _iterator = nonceListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
119
+ var listener = _step.value;
120
+ listener();
121
+ }
122
+ } catch (err) {
123
+ _didIteratorError = true;
124
+ _iteratorError = err;
125
+ } finally {
126
+ try {
127
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
128
+ _iterator.return();
129
+ }
130
+ } finally {
131
+ if (_didIteratorError) {
132
+ throw _iteratorError;
133
+ }
134
+ }
135
+ }
136
+ },
137
+ subscribeNonceReset(listener) {
138
+ nonceListeners.add(listener);
139
+ return function () {
140
+ nonceListeners.delete(listener);
141
+ };
142
+ },
143
+ createMessage(param) {
144
+ var {
145
+ nonce: value,
146
+ address,
147
+ chainId
148
+ } = param;
149
+ return createWalletMessage({
150
+ address,
151
+ chainId,
152
+ nonce: value,
153
+ domain: options.domain,
154
+ uri: options.uri
155
+ });
156
+ },
157
+ gpgMessage(param) {
158
+ var {
159
+ nonce: value
160
+ } = param;
161
+ return buildWalletMessage("gpg", {
162
+ nonce: value,
163
+ domain: options.domain,
164
+ uri: options.uri
165
+ });
166
+ },
167
+ siweConfig(onSign) {
168
+ return {
169
+ getNonce: function getNonce() {
170
+ return kc.getNonce();
171
+ },
172
+ createMessage: function createMessage(param) {
173
+ var {
174
+ nonce: value,
175
+ address,
176
+ chainId
177
+ } = param;
178
+ return kc.createMessage({
179
+ nonce: value,
180
+ address,
181
+ chainId
182
+ });
183
+ },
184
+ onSign,
185
+ subscribeNonceReset: kc.subscribeNonceReset,
186
+ verifyMessage: async function verifyMessage() {
187
+ return true;
188
+ },
189
+ getSession: async function getSession() {
190
+ return null;
191
+ },
192
+ signOut: async function signOut() {
193
+ return true;
194
+ }
195
+ };
196
+ },
197
+ gpgConfig(onSign) {
198
+ return {
199
+ getNonce: function getNonce() {
200
+ return kc.getNonce();
201
+ },
202
+ buildMessage: function buildMessage(args) {
203
+ return kc.gpgMessage(args);
204
+ },
205
+ onSign,
206
+ subscribeNonceReset: kc.subscribeNonceReset
207
+ };
208
+ },
209
+ browserFlow(opts) {
210
+ return browserFlow(opts);
211
+ },
212
+ directGrant(opts) {
213
+ return createDirectGrant(kc, opts);
214
+ },
215
+ browserLoginUrl(param) {
216
+ var {
217
+ clientId,
218
+ redirectUri,
219
+ scope
220
+ } = param;
221
+ var state = randomBase64Url(16);
222
+ var codeVerifier = randomBase64Url(32);
223
+ var params = new URLSearchParams({
224
+ client_id: clientId,
225
+ redirect_uri: redirectUri,
226
+ response_type: "code",
227
+ scope: Array.isArray(scope) ? scope.join(" ") : scope !== null && scope !== void 0 ? scope : "openid",
228
+ state,
229
+ code_challenge: pkceChallenge(codeVerifier),
230
+ code_challenge_method: "S256"
231
+ });
232
+ return {
233
+ url: `${realmUrl}/protocol/openid-connect/auth?${params}`,
234
+ state,
235
+ codeVerifier
236
+ };
237
+ },
238
+ registerWallet(opts) {
239
+ return createWalletRegistration(kc, opts);
240
+ }
241
+ };
242
+ return kc;
243
+ }
244
+ function deriveKeycloakFromLocation() {
245
+ var location = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : globalThis.location;
246
+ var match = location === null || location === void 0 ? void 0 : location.pathname.match(/^(.*)\/realms\/([^/]+)\//);
247
+ if (!location || !match) return void 0;
248
+ return {
249
+ baseUrl: location.origin + match[1],
250
+ realm: decodeURIComponent(match[2])
251
+ };
252
+ }
253
+ export { deriveKeycloakFromLocation, keycloakWallet, pkceChallenge, toCredentials };
254
+ //# sourceMappingURL=keycloakWallet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sha256","bytesToBase64","createWalletMessage","buildWalletMessage","browserFlow","createDirectGrant","createWalletRegistration","KeycloakWalletError","sessionCookie","readSessionCookie","res","_ref","_headers_get","_headers_getSetCookie","headers","values","getSetCookie","call","get","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","match","err","return","base64Url","base64Url2","bytes","replace","randomBase64Url","size","crypto","globalThis","getRandomValues","Error","Uint8Array","pkceChallenge","codeVerifier","TextEncoder","encode","toCredentials","args","username","signature","password","message","keycloakWallet","options","_options_resource","_options_fetch","baseUrl","resource","realmUrl","encodeURIComponent","realm","resourceUrl","tokenUrl","fetchImpl","fetch","input","init","cookie","nonce","nonceListeners","Set","request","request2","url","arguments","length","Headers","has","set","credentials","fetchNonce","fetchNonce2","_readSessionCookie","ok","status","text","trim","kc","getNonce","pending","catch","resetNonce","listener","subscribeNonceReset","add","delete","createMessage","param","address","chainId","domain","uri","gpgMessage","siweConfig","onSign"],"sources":["../../../src/keycloak/keycloakWallet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { createRoot } from "react-dom/client";
2
+ import { KeycloakWalletLogin, createKeycloakWalletConfig } from "./KeycloakWalletLogin.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const mounted = /* @__PURE__ */new WeakMap();
5
+ function mount(target, opts = {}) {
6
+ const el = typeof target === "string" ? document.querySelector(target) : target;
7
+ if (!el) throw new Error(`MpoKeycloakWallet.mount: nothing matches ${String(target)}`);
8
+ const existing = mounted.get(el);
9
+ if (existing) return existing;
10
+ const config = opts.wagmiConfig ?? createKeycloakWalletConfig(opts);
11
+ const root = createRoot(el);
12
+ root.render(/* @__PURE__ */jsx(KeycloakWalletLogin, {
13
+ ...opts,
14
+ wagmiConfig: config
15
+ }));
16
+ const handle = {
17
+ config,
18
+ unmount() {
19
+ if (mounted.get(el) !== handle) return;
20
+ mounted.delete(el);
21
+ root.unmount();
22
+ }
23
+ };
24
+ mounted.set(el, handle);
25
+ return handle;
26
+ }
27
+ export { mount };
28
+ //# sourceMappingURL=mount.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createRoot","KeycloakWalletLogin","createKeycloakWalletConfig","jsx","mounted","WeakMap","mount","target","opts","el","document","querySelector","Error","String","existing","get","config","wagmiConfig","root","render","handle","unmount","delete","set"],"sources":["../../../src/keycloak/mount.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,SACEC,mBAAA,EAEAC,0BAAA,QACK;AA2BO,SAAAC,GAAA;AAnBd,MAAMC,OAAA,GAAU,mBAAIC,OAAA,CAA6C;AAS1D,SAASC,MACdC,MAAA,EACAC,IAAA,GAAiC,CAAC,GACN;EAC5B,MAAMC,EAAA,GAAK,OAAOF,MAAA,KAAW,WAAWG,QAAA,CAASC,aAAA,CAAcJ,MAAM,IAAIA,MAAA;EACzE,IAAI,CAACE,EAAA,EAAI,MAAM,IAAIG,KAAA,CAAM,4CAA4CC,MAAA,CAAON,MAAM,CAAC,EAAE;EACrF,MAAMO,QAAA,GAAWV,OAAA,CAAQW,GAAA,CAAIN,EAAE;EAC/B,IAAIK,QAAA,EAAU,OAAOA,QAAA;EACrB,MAAME,MAAA,GAASR,IAAA,CAAKS,WAAA,IAAef,0BAAA,CAA2BM,IAAI;EAClE,MAAMU,IAAA,GAAOlB,UAAA,CAAWS,EAAE;EAC1BS,IAAA,CAAKC,MAAA,CAAO,eAAAhB,GAAA,CAACF,mBAAA;IAAqB,GAAGO,IAAA;IAAMS,WAAA,EAAaD;EAAA,CAAQ,CAAE;EAClE,MAAMI,MAAA,GAAqC;IACzCJ,MAAA;IACAK,QAAA,EAAU;MACR,IAAIjB,OAAA,CAAQW,GAAA,CAAIN,EAAE,MAAMW,MAAA,EAAQ;MAChChB,OAAA,CAAQkB,MAAA,CAAOb,EAAE;MACjBS,IAAA,CAAKG,OAAA,CAAQ;IACf;EACF;EACAjB,OAAA,CAAQmB,GAAA,CAAId,EAAA,EAAIW,MAAM;EACtB,OAAOA,MAAA;AACT","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ function mount(_target, _opts) {
2
+ throw new Error("MpoKeycloakWallet.mount is web only");
3
+ }
4
+ export { mount };
5
+ //# sourceMappingURL=mount.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mount","_target","_opts","Error"],"sources":["../../../src/keycloak/mount.native.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,MAAMC,OAAA,EAASC,KAAA,EAAO;EAClC,MAAM,IAAIC,KAAA,CAAM,qCAAqC;AACzD","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ import { KeycloakWalletError } from "./types.mjs";
2
+ function createWalletRegistration(kc, opts) {
3
+ const registration = {
4
+ async register({
5
+ message,
6
+ signature
7
+ }) {
8
+ const accessToken = typeof opts.accessToken === "function" ? await opts.accessToken() : opts.accessToken;
9
+ if (!accessToken) throw new Error("registerWallet needs a signed-in user's access token");
10
+ try {
11
+ const res = await kc.request(`${kc.resourceUrl}/register`, {
12
+ method: "POST",
13
+ headers: {
14
+ authorization: `Bearer ${accessToken}`,
15
+ "content-type": "application/json"
16
+ },
17
+ body: JSON.stringify({
18
+ message,
19
+ signature
20
+ })
21
+ });
22
+ const data = await res.json().catch(() => ({}));
23
+ if (!res.ok) {
24
+ throw new KeycloakWalletError(data.message || `Keycloak wallet register failed (${res.status})`, res.status, {
25
+ error: data.message
26
+ });
27
+ }
28
+ return {
29
+ registered: Boolean(data.registered)
30
+ };
31
+ } finally {
32
+ kc.resetNonce();
33
+ }
34
+ },
35
+ onSign: async ({
36
+ username,
37
+ message
38
+ }) => {
39
+ await registration.register({
40
+ message,
41
+ signature: username
42
+ });
43
+ return true;
44
+ }
45
+ };
46
+ return registration;
47
+ }
48
+ export { createWalletRegistration };
49
+ //# sourceMappingURL=registerWallet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KeycloakWalletError","createWalletRegistration","kc","opts","registration","register","message","signature","accessToken","Error","res","request","resourceUrl","method","headers","authorization","body","JSON","stringify","data","json","catch","ok","status","error","registered","Boolean","resetNonce","onSign","username"],"sources":["../../../src/keycloak/registerWallet.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,mBAAA,QAAwC;AAiB1C,SAASC,yBACdC,EAAA,EACAC,IAAA,EACoB;EACpB,MAAMC,YAAA,GAAmC;IACvC,MAAMC,SAAS;MAAEC,OAAA;MAASC;IAAU,GAAG;MACrC,MAAMC,WAAA,GACJ,OAAOL,IAAA,CAAKK,WAAA,KAAgB,aAAa,MAAML,IAAA,CAAKK,WAAA,CAAY,IAAIL,IAAA,CAAKK,WAAA;MAC3E,IAAI,CAACA,WAAA,EAAa,MAAM,IAAIC,KAAA,CAAM,sDAAsD;MACxF,IAAI;QACF,MAAMC,GAAA,GAAM,MAAMR,EAAA,CAAGS,OAAA,CAAQ,GAAGT,EAAA,CAAGU,WAAW,aAAa;UACzDC,MAAA,EAAQ;UACRC,OAAA,EAAS;YACPC,aAAA,EAAe,UAAUP,WAAW;YACpC,gBAAgB;UAClB;UACAQ,IAAA,EAAMC,IAAA,CAAKC,SAAA,CAAU;YAAEZ,OAAA;YAASC;UAAU,CAAC;QAC7C,CAAC;QACD,MAAMY,IAAA,GAAQ,MAAMT,GAAA,CAAIU,IAAA,CAAK,EAAEC,KAAA,CAAM,OAAO,CAAC,EAAE;QAI/C,IAAI,CAACX,GAAA,CAAIY,EAAA,EAAI;UACX,MAAM,IAAItB,mBAAA,CACRmB,IAAA,CAAKb,OAAA,IAAW,oCAAoCI,GAAA,CAAIa,MAAM,KAC9Db,GAAA,CAAIa,MAAA,EACJ;YAAEC,KAAA,EAAOL,IAAA,CAAKb;UAAQ,CACxB;QACF;QACA,OAAO;UAAEmB,UAAA,EAAYC,OAAA,CAAQP,IAAA,CAAKM,UAAU;QAAE;MAChD,UAAE;QACAvB,EAAA,CAAGyB,UAAA,CAAW;MAChB;IACF;IACAC,MAAA,EAAQ,MAAAA,CAAO;MAAEC,QAAA;MAAUvB;IAAQ,MAAM;MACvC,MAAMF,YAAA,CAAaC,QAAA,CAAS;QAAEC,OAAA;QAASC,SAAA,EAAWsB;MAAS,CAAC;MAC5D,OAAO;IACT;EACF;EACA,OAAOzB,YAAA;AACT","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ import { KeycloakWalletError } from "./types.native.js";
2
+ function createWalletRegistration(kc, opts) {
3
+ var registration = {
4
+ async register(param) {
5
+ var {
6
+ message,
7
+ signature
8
+ } = param;
9
+ var accessToken = typeof opts.accessToken === "function" ? await opts.accessToken() : opts.accessToken;
10
+ if (!accessToken) throw new Error("registerWallet needs a signed-in user's access token");
11
+ try {
12
+ var res = await kc.request(`${kc.resourceUrl}/register`, {
13
+ method: "POST",
14
+ headers: {
15
+ authorization: `Bearer ${accessToken}`,
16
+ "content-type": "application/json"
17
+ },
18
+ body: JSON.stringify({
19
+ message,
20
+ signature
21
+ })
22
+ });
23
+ var data = await res.json().catch(function () {
24
+ return {};
25
+ });
26
+ if (!res.ok) {
27
+ throw new KeycloakWalletError(data.message || `Keycloak wallet register failed (${res.status})`, res.status, {
28
+ error: data.message
29
+ });
30
+ }
31
+ return {
32
+ registered: Boolean(data.registered)
33
+ };
34
+ } finally {
35
+ kc.resetNonce();
36
+ }
37
+ },
38
+ onSign: async function onSign(param) {
39
+ var {
40
+ username,
41
+ message
42
+ } = param;
43
+ await registration.register({
44
+ message,
45
+ signature: username
46
+ });
47
+ return true;
48
+ }
49
+ };
50
+ return registration;
51
+ }
52
+ export { createWalletRegistration };
53
+ //# sourceMappingURL=registerWallet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KeycloakWalletError","createWalletRegistration","kc","opts","registration","register","param","message","signature","accessToken","Error","res","request","resourceUrl","method","headers","authorization","body","JSON","stringify","data","json","catch","ok","status","error","registered","Boolean","resetNonce","onSign"],"sources":["../../../src/keycloak/registerWallet.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,mBAAA,QAAwC;AAiB1C,SAASC,yBACdC,EAAA,EACAC,IAAA,EACoB;EACpB,IAAAC,YAAM;IACJ,MAAMC,SAASC,KAAE;MACf;QAAMC,OAAA;QAAAC;MACJ,IAAOF,KAAK;MACd,IAAIG,WAAC,GAAa,OAAMN,IAAI,CAAAM,WAAM,wBAAAN,IAAA,CAAAM,WAAA,KAAAN,IAAsD,CAAAM,WAAA;MACxF,IAAI,CAAAA,WAAA,YAAAC,KAAA;MACF;QAA2D,IACzDC,GAAA,GAAQ,MAAAT,EAAA,CAAAU,OAAA,IAAAV,EAAA,CAAAW,WAAA;UACRC,MAAA,QAAS;UAAAC,OACP;YACAC,aAAA,YAAgBP,WAAA;YAClB;UACA;UACDQ,IAAA,EAAAC,IAAA,CAAAC,SAAA;YACDZ,OAAM;YAIFC;UACF;QAAU;QACsD,IAC9DY,IAAI,SAAAT,GAAA,CAAAU,IAAA,GAAAC,KAAA;UAAA,OACF;QAAoB,EACxB;QACF,KAAAX,GAAA,CAAAY,EAAA;UACA,MAAO,IAAEvB,mBAAoB,CAAAoB,IAAK,CAAAb,OAAU,IAAE,oCAAAI,GAAA,CAAAa,MAAA,KAAAb,GAAA,CAAAa,MAAA;YAChDC,KAAE,EAAAL,IAAA,CAAAb;UACA,CAAG;QACL;QACF;UACAmB,UAAe,EAAEC,OAAA,CAAAP,IAAU,CAAAM,UAAc;QACvC;MACA,UAAO;QACTxB,EAAA,CAAA0B,UAAA;MACF;IACA;IACFC,MAAA,iBAAAA,OAAAvB,KAAA","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,150 @@
1
+ function _assert_this_initialized(self) {
2
+ if (self === void 0) {
3
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
4
+ }
5
+ return self;
6
+ }
7
+ function _call_super(_this, derived, args) {
8
+ derived = _get_prototype_of(derived);
9
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
10
+ }
11
+ function _class_call_check(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _construct(Parent, args, Class) {
17
+ if (_is_native_reflect_construct()) {
18
+ _construct = Reflect.construct;
19
+ } else {
20
+ _construct = function construct(Parent2, args2, Class2) {
21
+ var a = [null];
22
+ a.push.apply(a, args2);
23
+ var Constructor = Function.bind.apply(Parent2, a);
24
+ var instance = new Constructor();
25
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
26
+ return instance;
27
+ };
28
+ }
29
+ return _construct.apply(null, arguments);
30
+ }
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+ return obj;
43
+ }
44
+ function _get_prototype_of(o) {
45
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
46
+ return o2.__proto__ || Object.getPrototypeOf(o2);
47
+ };
48
+ return _get_prototype_of(o);
49
+ }
50
+ function _inherits(subClass, superClass) {
51
+ if (typeof superClass !== "function" && superClass !== null) {
52
+ throw new TypeError("Super expression must either be null or a function");
53
+ }
54
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
55
+ constructor: {
56
+ value: subClass,
57
+ writable: true,
58
+ configurable: true
59
+ }
60
+ });
61
+ if (superClass) _set_prototype_of(subClass, superClass);
62
+ }
63
+ function _is_native_function(fn) {
64
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
65
+ }
66
+ function _possible_constructor_return(self, call) {
67
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
68
+ return call;
69
+ }
70
+ return _assert_this_initialized(self);
71
+ }
72
+ function _set_prototype_of(o, p) {
73
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
74
+ o2.__proto__ = p2;
75
+ return o2;
76
+ };
77
+ return _set_prototype_of(o, p);
78
+ }
79
+ function _type_of(obj) {
80
+ "@swc/helpers - typeof";
81
+
82
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
83
+ }
84
+ function _wrap_native_super(Class) {
85
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
86
+ _wrap_native_super = function wrapNativeSuper(Class2) {
87
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
88
+ if (typeof Class2 !== "function") {
89
+ throw new TypeError("Super expression must either be null or a function");
90
+ }
91
+ if (typeof _cache !== "undefined") {
92
+ if (_cache.has(Class2)) return _cache.get(Class2);
93
+ _cache.set(Class2, Wrapper);
94
+ }
95
+ function Wrapper() {
96
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
97
+ }
98
+ Wrapper.prototype = Object.create(Class2.prototype, {
99
+ constructor: {
100
+ value: Wrapper,
101
+ enumerable: false,
102
+ writable: true,
103
+ configurable: true
104
+ }
105
+ });
106
+ return _set_prototype_of(Wrapper, Class2);
107
+ };
108
+ return _wrap_native_super(Class);
109
+ }
110
+ function _is_native_reflect_construct() {
111
+ try {
112
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
113
+ } catch (_) {}
114
+ return (_is_native_reflect_construct = function () {
115
+ return !!result;
116
+ })();
117
+ }
118
+ var KeycloakWalletError = /* @__PURE__ */function (Error1) {
119
+ "use strict";
120
+
121
+ _inherits(KeycloakWalletError2, Error1);
122
+ function KeycloakWalletError2(message, status) {
123
+ var details = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
124
+ _class_call_check(this, KeycloakWalletError2);
125
+ var _this;
126
+ _this = _call_super(this, KeycloakWalletError2, [message]), _define_property(_this, "status", void 0), _define_property(_this, "error", void 0), _define_property(_this, "errorDescription", void 0);
127
+ _this.name = "KeycloakWalletError";
128
+ _this.status = status;
129
+ _this.error = details.error;
130
+ _this.errorDescription = details.errorDescription;
131
+ return _this;
132
+ }
133
+ return KeycloakWalletError2;
134
+ }(_wrap_native_super(Error));
135
+ var ProfileIncompleteError = /* @__PURE__ */function (KeycloakWalletError2) {
136
+ "use strict";
137
+
138
+ _inherits(ProfileIncompleteError2, KeycloakWalletError2);
139
+ function ProfileIncompleteError2(message, status) {
140
+ var details = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
141
+ _class_call_check(this, ProfileIncompleteError2);
142
+ var _this;
143
+ _this = _call_super(this, ProfileIncompleteError2, [message, status, details]);
144
+ _this.name = "ProfileIncompleteError";
145
+ return _this;
146
+ }
147
+ return ProfileIncompleteError2;
148
+ }(KeycloakWalletError);
149
+ export { KeycloakWalletError, ProfileIncompleteError };
150
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class"],"sources":["../../../src/keycloak/types.ts"],"sourcesContent":[null],"mappings":"AA8BO,SAAMA,yBAA4BC,IAAA,EAAM;EACpC,IAAAA,IAAA;IACA,UAAAC,cAAA;EACA;EAET,OAAAD,IAAA;AAKE;AACA,SAAKE,WAAOA,CAAAC,KAAA,EAAAC,OAAA,EAAAC,IAAA;EACZD,OAAK,GAAAE,iBAAS,CAAAF,OAAA;EACd,OAAKG,4BAAgB,CAAAJ,KAAA,EAAAK,4BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,OAAA,EAAAC,IAAA,QAAAC,iBAAA,CAAAH,KAAA,EAAAQ,WAAA,IAAAP,OAAA,CAAAQ,KAAA,CAAAT,KAAA,EAAAE,IAAA;AACrB;AAAgC,SAClCQ,kBAAAC,QAAA,EAAAC,WAAA;EACF,MAAAD,QAAA,YAAAC,WAAA;IAUO,MAAM,IAAAC,SAAA,oCAAmD;EAC9D;AAKE;AACA,SAAKC,UAAOA,CAAAC,MAAA,EAAAb,IAAA,EAAAc,KAAA;EACd,IAAAX,4BAAA;IACFS,UAAA,GAAAR,OAAA,CAAAC,SAAA","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":[]}