@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,120 @@
1
+ import type { SIWEConfig } from "../connectkit/siwe/SIWEContext";
2
+ import { type BrowserFlowOptions } from "./browserFlow";
3
+ import { type DirectGrant, type DirectGrantOptions } from "./directGrant";
4
+ import { type RegisterWalletOptions, type WalletRegistration } from "./registerWallet";
5
+ import { type KeycloakWalletResource, type OnSign } from "./types";
6
+ export interface KeycloakWalletOptions {
7
+ /** Keycloak base URL, e.g. `https://account.example.com` or `http://localhost:8080/auth`. */
8
+ baseUrl: string;
9
+ realm: string;
10
+ /** Defaults to `siww` (SHC Keycloak); mpo's own SPI mounts `wallet`. */
11
+ resource?: KeycloakWalletResource;
12
+ /**
13
+ * Domain written into every sign-in message. Defaults to the page host. A
14
+ * WebView or native caller passes the hosted page's host the realm allows.
15
+ */
16
+ domain?: string;
17
+ /** URI written into every sign-in message. Defaults to the page origin or `https://<domain>`. */
18
+ uri?: string;
19
+ fetch?: typeof fetch;
20
+ }
21
+ export interface BrowserLoginUrlOptions {
22
+ /**
23
+ * A public client with `standardFlowEnabled` and `redirectUri` registered
24
+ * exactly, no wildcard. A direct-grant client such as mpo's `siwe-public`
25
+ * or `siws-public` (`standardFlowEnabled: false`) is refused; mpo's realm
26
+ * carries `wallet-onboarding` for this.
27
+ */
28
+ clientId: string;
29
+ /** Where Keycloak sends the browser back: the app's deep link or page. */
30
+ redirectUri: string;
31
+ /** Default `openid`. */
32
+ scope?: string | string[];
33
+ }
34
+ export interface BrowserLogin {
35
+ url: string;
36
+ /** Keep it, and accept the redirect back only when its `state` matches. */
37
+ state: string;
38
+ /** The PKCE S256 verifier behind the URL's `code_challenge`, for the code exchange. */
39
+ codeVerifier: string;
40
+ }
41
+ export interface KeycloakWallet {
42
+ readonly baseUrl: string;
43
+ readonly realm: string;
44
+ readonly resource: KeycloakWalletResource;
45
+ readonly realmUrl: string;
46
+ readonly resourceUrl: string;
47
+ readonly tokenUrl: string;
48
+ /**
49
+ * A server nonce, shared by every caller until `resetNonce()`. Each `/nonce`
50
+ * call replaces the previous nonce server side (and rotates its cookie), so
51
+ * two flows fetching their own would leave one signing a dead nonce.
52
+ */
53
+ getNonce(): Promise<string>;
54
+ /** Drop the shared nonce (the server consumed or rotated it) and tell every subscriber. */
55
+ resetNonce(): void;
56
+ /**
57
+ * Call `listener` on every `resetNonce()`. SIWEProvider and GpgProvider
58
+ * subscribe through the configs below and refetch their cached copy, so a
59
+ * second sign-in never signs a nonce the server has already dropped.
60
+ */
61
+ subscribeNonceReset(listener: () => void): () => void;
62
+ /** `SIWEConfig.createMessage`, with this wallet's domain and uri. */
63
+ createMessage(args: {
64
+ nonce: string;
65
+ address: string;
66
+ chainId: number;
67
+ }): string;
68
+ /** `GpgConfig.buildMessage`, with this wallet's domain and uri. */
69
+ gpgMessage(args: {
70
+ nonce: string;
71
+ }): string;
72
+ /** Props for `<SIWEProvider>` that sign through `onSign` (a browser flow, direct grant or registration). */
73
+ siweConfig(onSign: OnSign): SIWEConfig;
74
+ /** Props for `<GpgProvider>` that sign through `onSign`. */
75
+ gpgConfig(onSign: OnSign): {
76
+ getNonce: () => Promise<string>;
77
+ buildMessage: (args: {
78
+ nonce: string;
79
+ }) => string;
80
+ onSign: OnSign;
81
+ subscribeNonceReset: (listener: () => void) => () => void;
82
+ };
83
+ browserFlow(opts?: BrowserFlowOptions): OnSign;
84
+ directGrant(opts: DirectGrantOptions): DirectGrant;
85
+ /**
86
+ * The realm's authorization-code login, with a fresh `state` and PKCE S256
87
+ * pair. Open `url` in the system browser or a WebView when a direct grant
88
+ * rejects with `ProfileIncompleteError`: Keycloak's own login runs the
89
+ * pending required actions (the profile form), and the next direct grant
90
+ * succeeds.
91
+ */
92
+ browserLoginUrl(opts: BrowserLoginUrlOptions): BrowserLogin;
93
+ registerWallet(opts: RegisterWalletOptions): WalletRegistration;
94
+ /** `fetch` against Keycloak carrying the nonce session cookie. */
95
+ request(url: string, init?: RequestInit): Promise<Response>;
96
+ }
97
+ /** RFC 7636 S256: base64url(SHA-256(ASCII(verifier))). */
98
+ export declare function pkceChallenge(codeVerifier: string): string;
99
+ /** `username`/`password` for a signature over `message`, base64 done without btoa so it runs on Hermes. */
100
+ export declare function toCredentials(args: {
101
+ signature: string;
102
+ message: string;
103
+ }): {
104
+ username: string;
105
+ password: string;
106
+ message: string;
107
+ };
108
+ export declare function keycloakWallet(options: KeycloakWalletOptions): KeycloakWallet;
109
+ /**
110
+ * Keycloak base URL and realm of a page Keycloak serves (`<base>/realms/<realm>/...`),
111
+ * or undefined off such a page.
112
+ */
113
+ export declare function deriveKeycloakFromLocation(location?: {
114
+ origin: string;
115
+ pathname: string;
116
+ } | undefined): {
117
+ baseUrl: string;
118
+ realm: string;
119
+ } | undefined;
120
+ //# sourceMappingURL=keycloakWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloakWallet.d.ts","sourceRoot":"","sources":["../../src/keycloak/keycloakWallet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAuB,KAAK,sBAAsB,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAExF,MAAM,WAAW,qBAAqB;IACpC,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,2FAA2F;IAC3F,UAAU,IAAI,IAAI,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACtD,qEAAqE;IACrE,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACjF,mEAAmE;IACnE,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAC5C,4GAA4G;IAC5G,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,4DAA4D;IAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;QACzB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,CAAC,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAC;QAClD,MAAM,EAAE,MAAM,CAAC;QACf,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;KAC3D,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC/C,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CAAC;IACnD;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC;IAC5D,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,kBAAkB,CAAC;IAChE,kEAAkE;IAClE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7D;AA2BD,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;EAMzE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAwH7E;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,GAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAEvC,GACT;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAIhD"}
@@ -0,0 +1,16 @@
1
+ import type { Config } from "wagmi";
2
+ import { type KeycloakWalletLoginProps } from "./KeycloakWalletLogin";
3
+ export interface MountedKeycloakWalletLogin {
4
+ /** The wagmi config the login signs with. */
5
+ readonly config: Config;
6
+ unmount(): void;
7
+ }
8
+ /**
9
+ * Render `<KeycloakWalletLogin>` into `target` under its own React root, so a
10
+ * Keycloak theme on another React (or none) can host it. Mounting an element
11
+ * that already holds one returns that one: a second root would fetch a second
12
+ * nonce and rotate the session cookie under the first. `unmount()` frees the
13
+ * element for a fresh mount.
14
+ */
15
+ export declare function mount(target: string | Element, opts?: KeycloakWalletLoginProps): MountedKeycloakWalletLogin;
16
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/keycloak/mount.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,GAAG,OAAO,EACxB,IAAI,GAAE,wBAA6B,GAClC,0BAA0B,CAkB5B"}
@@ -0,0 +1,5 @@
1
+ import type { KeycloakWalletLoginProps } from "./KeycloakWalletLogin";
2
+ import type { MountedKeycloakWalletLogin } from "./mount";
3
+ export type { MountedKeycloakWalletLogin };
4
+ export declare function mount(_target: string | Element, _opts?: KeycloakWalletLoginProps): MountedKeycloakWalletLogin;
5
+ //# sourceMappingURL=mount.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.native.d.ts","sourceRoot":"","sources":["../../src/keycloak/mount.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE1D,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C,wBAAgB,KAAK,CACnB,OAAO,EAAE,MAAM,GAAG,OAAO,EACzB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,0BAA0B,CAE5B"}
@@ -0,0 +1,22 @@
1
+ import type { KeycloakWallet } from "./keycloakWallet";
2
+ import { type OnSign } from "./types";
3
+ export interface RegisterWalletOptions {
4
+ /** The signed-in user's access token, or a getter such as `directGrant(...).getAccessToken`. */
5
+ accessToken: string | (() => string | null | Promise<string | null>);
6
+ }
7
+ export interface WalletRegistration {
8
+ /** `onSign` for `<SIWEProvider>`: proves the connected wallet and binds it to the signed-in user. */
9
+ onSign: OnSign;
10
+ /**
11
+ * POST `<resource>/register`. `registered` is false when the wallet was
12
+ * already this user's; another user's wallet is a 409.
13
+ */
14
+ register(args: {
15
+ message: string;
16
+ signature: string;
17
+ }): Promise<{
18
+ registered: boolean;
19
+ }>;
20
+ }
21
+ export declare function createWalletRegistration(kc: KeycloakWallet, opts: RegisterWalletOptions): WalletRegistration;
22
+ //# sourceMappingURL=registerWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerWallet.d.ts","sourceRoot":"","sources":["../../src/keycloak/registerWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,gGAAgG;IAChG,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,kBAAkB;IACjC,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE,qBAAqB,GAC1B,kBAAkB,CAqCpB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The REST resource the Keycloak wallet SPI mounts under `/realms/<realm>/`:
3
+ * `siww` on the SHC Keycloak, `wallet` on mpo's own SPI.
4
+ */
5
+ export type KeycloakWalletResource = "siww" | "wallet";
6
+ /**
7
+ * What SIWEProvider and GpgProvider hand their `onSign`: `username` is the raw
8
+ * signature (or the GPG blob), `password` is base64(message).
9
+ */
10
+ export interface WalletSignIn {
11
+ username: string;
12
+ password: string;
13
+ message: string;
14
+ }
15
+ export type OnSign = (credentials: WalletSignIn) => Promise<boolean>;
16
+ export interface KeycloakTokens {
17
+ accessToken: string;
18
+ refreshToken?: string;
19
+ idToken?: string;
20
+ tokenType: string;
21
+ scope?: string;
22
+ /** Epoch ms after which the access token is expired. */
23
+ expiresAt: number;
24
+ /** Epoch ms after which the refresh token is expired; absent for offline or non-expiring tokens. */
25
+ refreshExpiresAt?: number;
26
+ }
27
+ export declare class KeycloakWalletError extends Error {
28
+ readonly status: number;
29
+ readonly error?: string;
30
+ readonly errorDescription?: string;
31
+ constructor(message: string, status: number, details?: {
32
+ error?: string;
33
+ errorDescription?: string;
34
+ });
35
+ }
36
+ /**
37
+ * Keycloak accepted the wallet but the account has required actions left (a
38
+ * new user's profile form, terms, a verified email), which a direct grant
39
+ * cannot run: Keycloak answers 400 invalid_grant "Account is not fully set
40
+ * up". Send the user through the browser login once
41
+ * (`kc.browserLoginUrl(...)` in the system browser or a WebView) so Keycloak
42
+ * shows its own forms; the direct grant succeeds after that.
43
+ */
44
+ export declare class ProfileIncompleteError extends KeycloakWalletError {
45
+ constructor(message: string, status: number, details?: {
46
+ error?: string;
47
+ errorDescription?: string;
48
+ });
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/keycloak/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO;CAQ9D;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;gBAE3D,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO;CAK9D"}
@@ -0,0 +1,29 @@
1
+ import type { DirectGrant } from "./directGrant";
2
+ import { type KeycloakTokens } from "./types";
3
+ export type DirectLoginStatus = "idle" | "signing" | "signed-in" | "profile-incomplete" | "error";
4
+ export interface UseDirectLoginResult {
5
+ /**
6
+ * `profile-incomplete`: Keycloak took the wallet but the account has
7
+ * required actions left, and `error` is the `ProfileIncompleteError`. Open
8
+ * `kc.browserLoginUrl(...)` (system browser or WebView) so Keycloak's own
9
+ * forms run, then `signIn()` again.
10
+ */
11
+ status: DirectLoginStatus;
12
+ tokens: KeycloakTokens | null;
13
+ error: Error | null;
14
+ /**
15
+ * Sign in with the connected wallet through SIWEProvider and exchange the
16
+ * signature for tokens. Resolves null when the wallet or Keycloak refused.
17
+ */
18
+ signIn(): Promise<KeycloakTokens | null>;
19
+ refresh(): Promise<KeycloakTokens>;
20
+ signOut(): Promise<void>;
21
+ }
22
+ /**
23
+ * Direct (browserless) wallet login: SIWEProvider signs, the grant trades the
24
+ * signature for Keycloak tokens. Mount it under
25
+ * `<SIWEProvider {...kc.siweConfig(grant.onSign)}>`; every login attempt resets
26
+ * the kc nonce, which refetches it in SIWEProvider and GpgProvider alike.
27
+ */
28
+ export declare function useDirectLogin(grant: DirectGrant): UseDirectLoginResult;
29
+ //# sourceMappingURL=useDirectLogin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirectLogin.d.ts","sourceRoot":"","sources":["../../src/keycloak/useDirectLogin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,oBAAoB,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAyCvE"}
@@ -0,0 +1,26 @@
1
+ import { StatusState } from "../connectkit/siwe/SIWEContext";
2
+ export interface UseWalletLoginOptions {
3
+ /** sessionStorage key of the pending-login mark. One per button on a page. */
4
+ intentKey?: string;
5
+ /** How long a connect started by `login()` may still drive the signature. Default 90 s. */
6
+ intentTtlMs?: number;
7
+ }
8
+ export interface UseWalletLoginResult {
9
+ /** Connect if needed, then sign through SIWEProvider. One press, no Continue step. */
10
+ login(): Promise<void>;
11
+ status: StatusState;
12
+ isConnected: boolean;
13
+ address?: string;
14
+ }
15
+ /**
16
+ * A wallet login button's behaviour. Pressing it while disconnected opens the
17
+ * connect modal, or on a phone with ConnectKit's `mobile.preferredConnector`
18
+ * that wallet straight away, so call `login()` synchronously in the click
19
+ * handler. The press is marked in sessionStorage (the wallet bounce can reload
20
+ * the page); once the wallet connects the signature starts by itself.
21
+ * Only a fresh mark drives it, so a wallet that reconnects on a later visit
22
+ * never signs unasked. A phone browser opens the wallet for a signature only
23
+ * from a tap, so without one the user presses again.
24
+ */
25
+ export declare function useWalletLogin(opts?: UseWalletLoginOptions): UseWalletLoginResult;
26
+ //# sourceMappingURL=useWalletLogin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWalletLogin.d.ts","sourceRoot":"","sources":["../../src/keycloak/useWalletLogin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG1E,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,oBAAoB,CA6CrF"}
@@ -0,0 +1,4 @@
1
+ import type { UseWalletLoginOptions, UseWalletLoginResult } from "./useWalletLogin";
2
+ export type { UseWalletLoginOptions, UseWalletLoginResult };
3
+ export declare function useWalletLogin(_opts?: UseWalletLoginOptions): UseWalletLoginResult;
4
+ //# sourceMappingURL=useWalletLogin.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWalletLogin.native.d.ts","sourceRoot":"","sources":["../../src/keycloak/useWalletLogin.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;AAE5D,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAElF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The signer families a wallet sign-in message can be built for. The Keycloak
3
+ * SPIs (SHC `siww`, mpo `wallet`) content-sniff exactly these headers.
4
+ */
5
+ export type WalletMessageFamily = "eth" | "sol" | "sui" | "btc" | "gpg";
6
+ /** Ecosystem names the connectors use; accepted as aliases of the short family. */
7
+ export type WalletMessageEcosystem = "evm" | "solana" | "sui" | "bitcoin";
8
+ export type SignerFamily = WalletMessageFamily | WalletMessageEcosystem;
9
+ export interface WalletMessageOptions {
10
+ nonce: string;
11
+ /** Signer address. Required for every family except `gpg`, whose identity comes from the key. */
12
+ address?: string;
13
+ /**
14
+ * Host the user signs in to, checked against the realm's frontend host and
15
+ * `siww.allowedDomains` / `wallet.allowedDomains`. Defaults to
16
+ * `window.location.host`; pass it explicitly from a WebView or native page,
17
+ * where that host is empty or not the one the realm allows.
18
+ */
19
+ domain?: string;
20
+ /** Defaults to `window.location.origin`, or `https://<domain>` when the page has no origin. */
21
+ uri?: string;
22
+ /**
23
+ * Defaults to the family's statement; `null` or `""` omits it. `eth` then
24
+ * keeps the empty line EIP-4361 puts in its place.
25
+ */
26
+ statement?: string | null;
27
+ /** Defaults to now. */
28
+ issuedAt?: string;
29
+ /**
30
+ * `eth`: the chain id (default 1). Other families keep their fixed `Chain ID:`
31
+ * value (`solana:mainnet`, ...) unless given a string; a number there is a
32
+ * connector's synthetic chain id and is ignored.
33
+ */
34
+ chainId?: number | string;
35
+ version?: string;
36
+ }
37
+ /** Map an ecosystem name (`evm`, `solana`, `bitcoin`) or a short family to the short family. */
38
+ export declare function toWalletMessageFamily(family: SignerFamily): WalletMessageFamily;
39
+ /**
40
+ * Build the sign-in message for one signer family. This is the only builder in
41
+ * mpo web3: EIP-4361 for `eth` (EIP-55 address, no optional fields), SIWS for
42
+ * `sol`, and the same envelope for `sui`, `btc` and `gpg`, in the exact bytes
43
+ * the Keycloak verifiers parse.
44
+ */
45
+ export declare function buildWalletMessage(family: SignerFamily, opts: WalletMessageOptions): string;
46
+ //# sourceMappingURL=buildWalletMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildWalletMessage.d.ts","sourceRoot":"","sources":["../../src/message/buildWalletMessage.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAExE,mFAAmF;AACnF,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiDD,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAI/E;AAaD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAoC3F"}
@@ -0,0 +1,2 @@
1
+ export { buildWalletMessage, toWalletMessageFamily, type SignerFamily, type WalletMessageEcosystem, type WalletMessageFamily, type WalletMessageOptions, } from "./buildWalletMessage";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import { QueryClient } from "@tanstack/react-query";
2
+ import { type SIWEConfig } from "../connectkit";
2
3
  import type { PropsWithChildren } from "react";
3
4
  import { type Web3Config } from "./walletConfig";
4
5
  export interface WalletProviderProps extends PropsWithChildren {
5
6
  config: Web3Config;
6
7
  queryClient?: QueryClient;
8
+ /**
9
+ * Mounts a SIWEProvider around the ConnectKit modal, e.g.
10
+ * `kc.siweConfig(grant.onSign)` for `useDirectLogin`. It has to sit outside
11
+ * ConnectKitProvider, so a child cannot add its own.
12
+ */
13
+ siwe?: SIWEConfig;
7
14
  }
8
- export declare function WalletProvider({ children, config: web3Config, queryClient, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function WalletProvider({ children, config: web3Config, queryClient, siwe, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
9
16
  export { defaultChains } from "./walletConfig";
10
17
  export { useWeb3Config, type Web3Config } from "./walletConfig";
11
18
  //# sourceMappingURL=WalletProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAWD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,GACjC,EAAE,mBAAmB,2CAmErB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoC,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAC;AAEpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAWD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,EAChC,IAAI,GACL,EAAE,mBAAmB,2CAyErB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/siws/message.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAuBnE"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/siws/message.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEnE"}
package/types/solana.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { connectSolanaWallet, findSolanaSigner, injectedSolanaSigner, solanaChainFromRpcUrl, solanaClient, solanaRpcUrls, standardSolanaSigner, transferSolInstruction, SolanaConfirmationError, type SolanaChain, type SolanaClient, type SolanaClientConfig, type SolanaCluster, type SolanaConfirmationFailure, type SolanaConfirmOptions, type SolanaSigner, type SolanaSubmission, } from "./clients/solana";
1
+ export { connectSolanaWallet, findSolanaSigner, injectedSolanaSigner, solanaChainFromRpcUrl, solanaClient, solanaRpcUrls, standardSolanaSigner, transferSolInstruction, SolanaConfirmationError, type SolanaChain, type SolanaClient, type SolanaClientConfig, type SolanaCluster, type SolanaCommitmentStatus, type SolanaConfirmationFailure, type SolanaConfirmOptions, type SolanaSigner, type SolanaSubmission, } from "./clients/solana";
2
2
  export { useSolanaClient } from "./clients/useSolanaClient";
3
3
  export { getSolanaWallets, getStandardWallets, type StandardWallet, type StandardWalletAccount, } from "./clients/walletStandard";
4
4
  //# sourceMappingURL=solana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC"}
@@ -1,73 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
23
- var messages_exports = {};
24
- __export(messages_exports, {
25
- buildWalletMessage: () => buildWalletMessage
26
- });
27
- module.exports = __toCommonJS(messages_exports);
28
- var import_viem = require("viem");
29
- const SPECS = {
30
- evm: {
31
- label: "Ethereum",
32
- statement: "Sign in With Ethereum.",
33
- chainIdLine: "1",
34
- // moonstoneid's SiweMessage rejects a non-checksummed address.
35
- normalize: a => (0, import_viem.getAddress)(a)
36
- },
37
- solana: {
38
- label: "Solana",
39
- statement: "Sign in With Solana.",
40
- chainIdLine: "solana:mainnet"
41
- },
42
- sui: {
43
- label: "Sui",
44
- statement: "Sign in With Sui.",
45
- chainIdLine: "sui:mainnet"
46
- },
47
- bitcoin: {
48
- label: "Bitcoin",
49
- statement: "Sign in With Bitcoin.",
50
- chainIdLine: "bitcoin"
51
- }
52
- };
53
- function buildWalletMessage(family, opts) {
54
- const spec = SPECS[family];
55
- const host = typeof window !== "undefined" ? window.location.host : "";
56
- const origin = typeof window !== "undefined" ? window.location.origin : "";
57
- const domain = opts.domain ?? host;
58
- const uri = opts.uri ?? origin;
59
- const issuedAt = opts.issuedAt ?? (/* @__PURE__ */new Date()).toISOString();
60
- const statement = opts.statement ?? spec.statement;
61
- const address = spec.normalize ? spec.normalize(opts.address) : opts.address;
62
- const chainIdLine = family === "evm" ? String(opts.chainId ?? 1) : spec.chainIdLine;
63
- return `${domain} wants you to sign in with your ${spec.label} account:
64
- ${address}
65
-
66
- ${statement}
67
-
68
- URI: ${uri}
69
- Version: 1
70
- Chain ID: ${chainIdLine}
71
- Nonce: ${opts.nonce}
72
- Issued At: ${issuedAt}`;
73
- }
@@ -1,79 +0,0 @@
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 messages_exports = {};
26
- __export(messages_exports, {
27
- buildWalletMessage: () => buildWalletMessage
28
- });
29
- module.exports = __toCommonJS(messages_exports);
30
- var import_viem = require("viem");
31
- var SPECS = {
32
- evm: {
33
- label: "Ethereum",
34
- statement: "Sign in With Ethereum.",
35
- chainIdLine: "1",
36
- // moonstoneid's SiweMessage rejects a non-checksummed address.
37
- normalize: function normalize(a) {
38
- return (0, import_viem.getAddress)(a);
39
- }
40
- },
41
- solana: {
42
- label: "Solana",
43
- statement: "Sign in With Solana.",
44
- chainIdLine: "solana:mainnet"
45
- },
46
- sui: {
47
- label: "Sui",
48
- statement: "Sign in With Sui.",
49
- chainIdLine: "sui:mainnet"
50
- },
51
- bitcoin: {
52
- label: "Bitcoin",
53
- statement: "Sign in With Bitcoin.",
54
- chainIdLine: "bitcoin"
55
- }
56
- };
57
- function buildWalletMessage(family, opts) {
58
- var _opts_domain, _opts_uri, _opts_issuedAt, _opts_statement, _opts_chainId;
59
- var spec = SPECS[family];
60
- var host = typeof window !== "undefined" ? window.location.host : "";
61
- var origin = typeof window !== "undefined" ? window.location.origin : "";
62
- var domain = (_opts_domain = opts.domain) !== null && _opts_domain !== void 0 ? _opts_domain : host;
63
- var uri = (_opts_uri = opts.uri) !== null && _opts_uri !== void 0 ? _opts_uri : origin;
64
- var issuedAt = (_opts_issuedAt = opts.issuedAt) !== null && _opts_issuedAt !== void 0 ? _opts_issuedAt : (/* @__PURE__ */new Date()).toISOString();
65
- var statement = (_opts_statement = opts.statement) !== null && _opts_statement !== void 0 ? _opts_statement : spec.statement;
66
- var address = spec.normalize ? spec.normalize(opts.address) : opts.address;
67
- var chainIdLine = family === "evm" ? String((_opts_chainId = opts.chainId) !== null && _opts_chainId !== void 0 ? _opts_chainId : 1) : spec.chainIdLine;
68
- return `${domain} wants you to sign in with your ${spec.label} account:
69
- ${address}
70
-
71
- ${statement}
72
-
73
- URI: ${uri}
74
- Version: 1
75
- Chain ID: ${chainIdLine}
76
- Nonce: ${opts.nonce}
77
- Issued At: ${issuedAt}`;
78
- }
79
- //# sourceMappingURL=messages.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","messages_exports","__export","buildWalletMessage","module","exports","import_viem","require","SPECS","evm","label","statement","chainIdLine","normalize","a","getAddress","solana","sui","bitcoin","family","opts","_opts_domain","_opts_uri","_opts_issuedAt","_opts_statement","_opts_chainId","spec","host","window","location","origin","domain","uri","issuedAt","Date","toISOString","address","String","chainId"],"sources":["../../../../src/connectkit/adapters/messages.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA2B,CAAAK,gBAAA;AAwB3B,IAAAK,WAAgD,GAAAC,OAAA;AAAA,IAC9CC,KAAK;EAAAC,GACH;IACAC,KAAA,YAAW;IACXC,SAAA,0BAAa;IAAAC,WAAA;IAEb;IACFC,SAAA,WAAAA,UAAAC,CAAA;MACA,OAAQ,IAAAR,WAAA,CAAAS,UAAA,EAAAD,CAAA;IACN;EAAO;EACIE,MACX;IACFN,KAAA;IACAC,SAAK;IACHC,WAAO;EAAA;EACIK,GACX;IACFP,KAAA;IACAC,SAAS;IACPC,WAAO;EAAA;EACIM,OACX;IACFR,KAAA;IACFC,SAAA;IAcOC,WAAS;EACd;AACA;AACA,SAAMT,kBAAgBA,CAAAgB,MAAA,EAAWC,IAAA;EACjC,IAAAC,YAAe,EAAAC,SAAK,EAAAC,cAAU,EAAAC,eAAA,EAAAC,aAAA;EAC9B,IAAAC,IAAM,GAAAlB,KAAM,CAAKW,MAAA,CAAO;EACxB,IAAAQ,IAAM,UAAWC,MAAK,gBAAY,GAAAA,MAAA,CAAAC,QAAI,CAAAF,IAAO;EAC7C,IAAAG,MAAM,UAAYF,MAAK,gBAAkB,GAAAA,MAAA,CAAAC,QAAA,CAAAC,MAAA;EACzC,IAAAC,MAAM,IAAAV,YAAe,GAAAD,IAAY,CAAAW,MAAK,UAAU,IAAKV,YAAW,KAAK,SAAAA,YAAA,GAAAM,IAAA;EACrE,IAAAK,GAAM,IAAAV,SAAc,GAAAF,IAAA,CAAAY,GAAW,UAAQ,IAAAV,SAAY,UAAY,IAAIA,SAAK,GAAAQ,MAAA;EACxE,IAAAG,QACK,IAAMV,cAAA,GAAAH,IAAA,CAAAa,QAAA,MAAmC,IAAK,IAAAV,cAAK,cAAAA,cAAA,uBAAAW,IAAA,IAAAC,WAAA;EACnD,IAAAxB,SAAO,IAAAa,eAAA,GAAAJ,IAAA,CAAAT,SAAA,cAAAa,eAAA,cAAAA,eAAA,GAAAE,IAAA,CAAAf,SAAA;EAAA,IAAAyB,OAAA,GAAAV,IAAA,CAAAb,SAAA,GAAAa,IAAA,CAAAb,SAAA,CAAAO,IAAA,CAAAgB,OAAA,IAAAhB,IAAA,CAAAgB,OAAA;EAEP,IAAAxB,WAAS,GAAAO,MAAA,aAAAkB,MAAA,EAAAZ,aAAA,GAAAL,IAAA,CAAAkB,OAAA,cAAAb,aAAA,cAAAA,aAAA,QAAAC,IAAA,CAAAd,WAAA;EAAA,UAAAmB,MAAA,mCAAAL,IAAA,CAAAhB,KAAA;AAAA,EAAA0B,OAEJ;AAAG;AAAA,EAAAzB,SAAA;AAEa;AACJ,OAAAqB,GAAA;AAGxB","ignoreList":[]}
@@ -1,48 +0,0 @@
1
- import { getAddress } from "viem";
2
- const SPECS = {
3
- evm: {
4
- label: "Ethereum",
5
- statement: "Sign in With Ethereum.",
6
- chainIdLine: "1",
7
- // moonstoneid's SiweMessage rejects a non-checksummed address.
8
- normalize: a => getAddress(a)
9
- },
10
- solana: {
11
- label: "Solana",
12
- statement: "Sign in With Solana.",
13
- chainIdLine: "solana:mainnet"
14
- },
15
- sui: {
16
- label: "Sui",
17
- statement: "Sign in With Sui.",
18
- chainIdLine: "sui:mainnet"
19
- },
20
- bitcoin: {
21
- label: "Bitcoin",
22
- statement: "Sign in With Bitcoin.",
23
- chainIdLine: "bitcoin"
24
- }
25
- };
26
- function buildWalletMessage(family, opts) {
27
- const spec = SPECS[family];
28
- const host = typeof window !== "undefined" ? window.location.host : "";
29
- const origin = typeof window !== "undefined" ? window.location.origin : "";
30
- const domain = opts.domain ?? host;
31
- const uri = opts.uri ?? origin;
32
- const issuedAt = opts.issuedAt ?? (/* @__PURE__ */new Date()).toISOString();
33
- const statement = opts.statement ?? spec.statement;
34
- const address = spec.normalize ? spec.normalize(opts.address) : opts.address;
35
- const chainIdLine = family === "evm" ? String(opts.chainId ?? 1) : spec.chainIdLine;
36
- return `${domain} wants you to sign in with your ${spec.label} account:
37
- ${address}
38
-
39
- ${statement}
40
-
41
- URI: ${uri}
42
- Version: 1
43
- Chain ID: ${chainIdLine}
44
- Nonce: ${opts.nonce}
45
- Issued At: ${issuedAt}`;
46
- }
47
- export { buildWalletMessage };
48
- //# sourceMappingURL=messages.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getAddress","SPECS","evm","label","statement","chainIdLine","normalize","a","solana","sui","bitcoin","buildWalletMessage","family","opts","spec","host","window","location","origin","domain","uri","issuedAt","Date","toISOString","address","String","chainId","nonce"],"sources":["../../../../src/connectkit/adapters/messages.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAwB3B,MAAMC,KAAA,GAA0C;EAC9CC,GAAA,EAAK;IACHC,KAAA,EAAO;IACPC,SAAA,EAAW;IACXC,WAAA,EAAa;IAAA;IAEbC,SAAA,EAAYC,CAAA,IAAMP,UAAA,CAAWO,CAAC;EAChC;EACAC,MAAA,EAAQ;IACNL,KAAA,EAAO;IACPC,SAAA,EAAW;IACXC,WAAA,EAAa;EACf;EACAI,GAAA,EAAK;IACHN,KAAA,EAAO;IACPC,SAAA,EAAW;IACXC,WAAA,EAAa;EACf;EACAK,OAAA,EAAS;IACPP,KAAA,EAAO;IACPC,SAAA,EAAW;IACXC,WAAA,EAAa;EACf;AACF;AAcO,SAASM,mBAAmBC,MAAA,EAAsBC,IAAA,EAAoC;EAC3F,MAAMC,IAAA,GAAOb,KAAA,CAAMW,MAAM;EACzB,MAAMG,IAAA,GAAO,OAAOC,MAAA,KAAW,cAAcA,MAAA,CAAOC,QAAA,CAASF,IAAA,GAAO;EACpE,MAAMG,MAAA,GAAS,OAAOF,MAAA,KAAW,cAAcA,MAAA,CAAOC,QAAA,CAASC,MAAA,GAAS;EACxE,MAAMC,MAAA,GAASN,IAAA,CAAKM,MAAA,IAAUJ,IAAA;EAC9B,MAAMK,GAAA,GAAMP,IAAA,CAAKO,GAAA,IAAOF,MAAA;EACxB,MAAMG,QAAA,GAAWR,IAAA,CAAKQ,QAAA,KAAY,mBAAIC,IAAA,CAAK,GAAEC,WAAA,CAAY;EACzD,MAAMnB,SAAA,GAAYS,IAAA,CAAKT,SAAA,IAAaU,IAAA,CAAKV,SAAA;EACzC,MAAMoB,OAAA,GAAUV,IAAA,CAAKR,SAAA,GAAYQ,IAAA,CAAKR,SAAA,CAAUO,IAAA,CAAKW,OAAO,IAAIX,IAAA,CAAKW,OAAA;EACrE,MAAMnB,WAAA,GAAcO,MAAA,KAAW,QAAQa,MAAA,CAAOZ,IAAA,CAAKa,OAAA,IAAW,CAAC,IAAIZ,IAAA,CAAKT,WAAA;EACxE,OACE,GAAGc,MAAM,mCAAmCL,IAAA,CAAKX,KAAK;AAAA,EACnDqB,OAAO;AAAA;AAAA,EAEPpB,SAAS;AAAA;AAAA,OAEJgB,GAAG;AAAA;AAAA,YAEEf,WAAW;AAAA,SACdQ,IAAA,CAAKc,KAAK;AAAA,aACNN,QAAQ;AAE1B","ignoreList":[]}