@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.
- package/README.md +150 -11
- package/dist/cjs/clients/evm.cjs +299 -11
- package/dist/cjs/clients/evm.native.js +500 -12
- package/dist/cjs/clients/evm.native.js.map +1 -1
- package/dist/cjs/clients/index.cjs +5 -0
- package/dist/cjs/clients/index.native.js +5 -0
- package/dist/cjs/clients/index.native.js.map +1 -1
- package/dist/cjs/clients/solana.cjs +39 -21
- package/dist/cjs/clients/solana.native.js +48 -23
- package/dist/cjs/clients/solana.native.js.map +1 -1
- package/dist/cjs/connectkit/GpgProvider.cjs +44 -0
- package/dist/cjs/connectkit/GpgProvider.native.js +51 -0
- package/dist/cjs/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/EthereumAdapter.cjs +6 -15
- package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +2 -2
- package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +2 -2
- package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
- package/dist/cjs/connectkit/index.cjs +4 -3
- package/dist/cjs/connectkit/index.native.js +4 -3
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +18 -3
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +18 -3
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +255 -0
- package/dist/cjs/keycloak/KeycloakWalletLogin.native.js +33 -0
- package/dist/cjs/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/cjs/keycloak/browserFlow.cjs +83 -0
- package/dist/cjs/keycloak/browserFlow.native.js +90 -0
- package/dist/cjs/keycloak/browserFlow.native.js.map +1 -0
- package/dist/cjs/keycloak/device.cjs +36 -0
- package/dist/cjs/keycloak/device.native.js +45 -0
- package/dist/cjs/keycloak/device.native.js.map +1 -0
- package/dist/cjs/keycloak/directGrant.cjs +189 -0
- package/dist/cjs/keycloak/directGrant.native.js +233 -0
- package/dist/cjs/keycloak/directGrant.native.js.map +1 -0
- package/dist/cjs/keycloak/iife.cjs +4 -0
- package/dist/cjs/keycloak/iife.native.js +7 -0
- package/dist/cjs/keycloak/iife.native.js.map +1 -0
- package/dist/cjs/keycloak/index.cjs +53 -0
- package/dist/cjs/keycloak/index.native.js +56 -0
- package/dist/cjs/keycloak/index.native.js.map +1 -0
- package/dist/cjs/keycloak/keycloakWallet.cjs +214 -0
- package/dist/cjs/keycloak/keycloakWallet.native.js +285 -0
- package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/cjs/keycloak/mount.cjs +53 -0
- package/dist/cjs/keycloak/mount.native.js +33 -0
- package/dist/cjs/keycloak/mount.native.js.map +1 -0
- package/dist/cjs/keycloak/registerWallet.cjs +74 -0
- package/dist/cjs/keycloak/registerWallet.native.js +81 -0
- package/dist/cjs/keycloak/registerWallet.native.js.map +1 -0
- package/dist/cjs/keycloak/types.cjs +46 -0
- package/dist/cjs/keycloak/types.native.js +179 -0
- package/dist/cjs/keycloak/types.native.js.map +1 -0
- package/dist/cjs/keycloak/useDirectLogin.cjs +57 -0
- package/dist/cjs/keycloak/useDirectLogin.native.js +77 -0
- package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/cjs/keycloak/useWalletLogin.cjs +97 -0
- package/dist/cjs/keycloak/useWalletLogin.native.js +33 -0
- package/dist/cjs/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/cjs/message/buildWalletMessage.cjs +113 -0
- package/dist/cjs/message/buildWalletMessage.native.js +121 -0
- package/dist/cjs/message/buildWalletMessage.native.js.map +1 -0
- package/dist/cjs/message/index.cjs +29 -0
- package/dist/cjs/message/index.native.js +32 -0
- package/dist/cjs/message/index.native.js.map +1 -0
- package/dist/cjs/providers/WalletProvider.cjs +8 -2
- package/dist/cjs/siws/message.cjs +5 -16
- package/dist/cjs/siws/message.native.js +6 -16
- package/dist/cjs/siws/message.native.js.map +1 -1
- package/dist/cjs/solana.native.js.map +1 -1
- package/dist/esm/clients/evm.mjs +295 -12
- package/dist/esm/clients/evm.mjs.map +1 -1
- package/dist/esm/clients/evm.native.js +496 -13
- package/dist/esm/clients/evm.native.js.map +1 -1
- package/dist/esm/clients/index.mjs +2 -2
- package/dist/esm/clients/index.mjs.map +1 -1
- package/dist/esm/clients/index.native.js +2 -2
- package/dist/esm/clients/index.native.js.map +1 -1
- package/dist/esm/clients/solana.mjs +39 -21
- package/dist/esm/clients/solana.mjs.map +1 -1
- package/dist/esm/clients/solana.native.js +48 -23
- package/dist/esm/clients/solana.native.js.map +1 -1
- package/dist/esm/connectkit/GpgProvider.mjs +19 -0
- package/dist/esm/connectkit/GpgProvider.mjs.map +1 -0
- package/dist/esm/connectkit/GpgProvider.native.js +23 -0
- package/dist/esm/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/EthereumAdapter.mjs +6 -15
- package/dist/esm/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/esm/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/SuiAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/createWalletMessage.mjs +1 -1
- package/dist/esm/connectkit/connectors/createWalletMessage.native.js +1 -1
- package/dist/esm/connectkit/index.mjs +3 -2
- package/dist/esm/connectkit/index.mjs.map +1 -1
- package/dist/esm/connectkit/index.native.js +3 -2
- package/dist/esm/connectkit/index.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -4
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +19 -4
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs +218 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.native.js +5 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/esm/keycloak/browserFlow.mjs +58 -0
- package/dist/esm/keycloak/browserFlow.mjs.map +1 -0
- package/dist/esm/keycloak/browserFlow.native.js +62 -0
- package/dist/esm/keycloak/browserFlow.native.js.map +1 -0
- package/dist/esm/keycloak/device.mjs +10 -0
- package/dist/esm/keycloak/device.mjs.map +1 -0
- package/dist/esm/keycloak/device.native.js +16 -0
- package/dist/esm/keycloak/device.native.js.map +1 -0
- package/dist/esm/keycloak/directGrant.mjs +164 -0
- package/dist/esm/keycloak/directGrant.mjs.map +1 -0
- package/dist/esm/keycloak/directGrant.native.js +205 -0
- package/dist/esm/keycloak/directGrant.native.js.map +1 -0
- package/dist/esm/keycloak/iife.mjs +5 -0
- package/dist/esm/keycloak/iife.mjs.map +1 -0
- package/dist/esm/keycloak/iife.native.js +5 -0
- package/dist/esm/keycloak/iife.native.js.map +1 -0
- package/dist/esm/keycloak/index.mjs +13 -0
- package/dist/esm/keycloak/index.mjs.map +1 -0
- package/dist/esm/keycloak/index.native.js +13 -0
- package/dist/esm/keycloak/index.native.js.map +1 -0
- package/dist/esm/keycloak/keycloakWallet.mjs +186 -0
- package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -0
- package/dist/esm/keycloak/keycloakWallet.native.js +254 -0
- package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/esm/keycloak/mount.mjs +28 -0
- package/dist/esm/keycloak/mount.mjs.map +1 -0
- package/dist/esm/keycloak/mount.native.js +5 -0
- package/dist/esm/keycloak/mount.native.js.map +1 -0
- package/dist/esm/keycloak/registerWallet.mjs +49 -0
- package/dist/esm/keycloak/registerWallet.mjs.map +1 -0
- package/dist/esm/keycloak/registerWallet.native.js +53 -0
- package/dist/esm/keycloak/registerWallet.native.js.map +1 -0
- package/dist/esm/keycloak/types.mjs +20 -0
- package/dist/esm/keycloak/types.mjs.map +1 -0
- package/dist/esm/keycloak/types.native.js +150 -0
- package/dist/esm/keycloak/types.native.js.map +1 -0
- package/dist/esm/keycloak/useDirectLogin.mjs +32 -0
- package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -0
- package/dist/esm/keycloak/useDirectLogin.native.js +49 -0
- package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/esm/keycloak/useWalletLogin.mjs +72 -0
- package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -0
- package/dist/esm/keycloak/useWalletLogin.native.js +5 -0
- package/dist/esm/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/esm/message/buildWalletMessage.mjs +87 -0
- package/dist/esm/message/buildWalletMessage.mjs.map +1 -0
- package/dist/esm/message/buildWalletMessage.native.js +92 -0
- package/dist/esm/message/buildWalletMessage.native.js.map +1 -0
- package/dist/esm/message/index.mjs +3 -0
- package/dist/esm/message/index.mjs.map +1 -0
- package/dist/esm/message/index.native.js +3 -0
- package/dist/esm/message/index.native.js.map +1 -0
- package/dist/esm/providers/WalletProvider.mjs +9 -3
- package/dist/esm/providers/WalletProvider.mjs.map +1 -1
- package/dist/esm/siws/message.mjs +5 -16
- package/dist/esm/siws/message.mjs.map +1 -1
- package/dist/esm/siws/message.native.js +6 -16
- package/dist/esm/siws/message.native.js.map +1 -1
- package/dist/esm/solana.mjs.map +1 -1
- package/dist/esm/solana.native.js.map +1 -1
- package/dist/jsx/clients/evm.mjs +295 -12
- package/dist/jsx/clients/evm.mjs.map +1 -1
- package/dist/jsx/clients/evm.native.js +500 -12
- package/dist/jsx/clients/evm.native.js.map +1 -1
- package/dist/jsx/clients/index.mjs +2 -2
- package/dist/jsx/clients/index.mjs.map +1 -1
- package/dist/jsx/clients/index.native.js +5 -0
- package/dist/jsx/clients/index.native.js.map +1 -1
- package/dist/jsx/clients/solana.mjs +39 -21
- package/dist/jsx/clients/solana.mjs.map +1 -1
- package/dist/jsx/clients/solana.native.js +48 -23
- package/dist/jsx/clients/solana.native.js.map +1 -1
- package/dist/jsx/connectkit/GpgProvider.mjs +19 -0
- package/dist/jsx/connectkit/GpgProvider.mjs.map +1 -0
- package/dist/jsx/connectkit/GpgProvider.native.js +51 -0
- package/dist/jsx/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs +6 -15
- package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +1 -1
- package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +2 -2
- package/dist/jsx/connectkit/index.mjs +3 -2
- package/dist/jsx/connectkit/index.mjs.map +1 -1
- package/dist/jsx/connectkit/index.native.js +4 -3
- package/dist/jsx/connectkit/index.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -4
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +18 -3
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +1 -0
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +218 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.native.js +33 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/jsx/keycloak/browserFlow.mjs +58 -0
- package/dist/jsx/keycloak/browserFlow.mjs.map +1 -0
- package/dist/jsx/keycloak/browserFlow.native.js +90 -0
- package/dist/jsx/keycloak/browserFlow.native.js.map +1 -0
- package/dist/jsx/keycloak/device.mjs +10 -0
- package/dist/jsx/keycloak/device.mjs.map +1 -0
- package/dist/jsx/keycloak/device.native.js +45 -0
- package/dist/jsx/keycloak/device.native.js.map +1 -0
- package/dist/jsx/keycloak/directGrant.mjs +164 -0
- package/dist/jsx/keycloak/directGrant.mjs.map +1 -0
- package/dist/jsx/keycloak/directGrant.native.js +233 -0
- package/dist/jsx/keycloak/directGrant.native.js.map +1 -0
- package/dist/jsx/keycloak/iife.mjs +5 -0
- package/dist/jsx/keycloak/iife.mjs.map +1 -0
- package/dist/jsx/keycloak/iife.native.js +7 -0
- package/dist/jsx/keycloak/iife.native.js.map +1 -0
- package/dist/jsx/keycloak/index.mjs +13 -0
- package/dist/jsx/keycloak/index.mjs.map +1 -0
- package/dist/jsx/keycloak/index.native.js +56 -0
- package/dist/jsx/keycloak/index.native.js.map +1 -0
- package/dist/jsx/keycloak/keycloakWallet.mjs +186 -0
- package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -0
- package/dist/jsx/keycloak/keycloakWallet.native.js +285 -0
- package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/jsx/keycloak/mount.mjs +28 -0
- package/dist/jsx/keycloak/mount.mjs.map +1 -0
- package/dist/jsx/keycloak/mount.native.js +33 -0
- package/dist/jsx/keycloak/mount.native.js.map +1 -0
- package/dist/jsx/keycloak/registerWallet.mjs +49 -0
- package/dist/jsx/keycloak/registerWallet.mjs.map +1 -0
- package/dist/jsx/keycloak/registerWallet.native.js +81 -0
- package/dist/jsx/keycloak/registerWallet.native.js.map +1 -0
- package/dist/jsx/keycloak/types.mjs +20 -0
- package/dist/jsx/keycloak/types.mjs.map +1 -0
- package/dist/jsx/keycloak/types.native.js +179 -0
- package/dist/jsx/keycloak/types.native.js.map +1 -0
- package/dist/jsx/keycloak/useDirectLogin.mjs +32 -0
- package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/useDirectLogin.native.js +77 -0
- package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/jsx/keycloak/useWalletLogin.mjs +72 -0
- package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/useWalletLogin.native.js +33 -0
- package/dist/jsx/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/jsx/message/buildWalletMessage.mjs +87 -0
- package/dist/jsx/message/buildWalletMessage.mjs.map +1 -0
- package/dist/jsx/message/buildWalletMessage.native.js +121 -0
- package/dist/jsx/message/buildWalletMessage.native.js.map +1 -0
- package/dist/jsx/message/index.mjs +3 -0
- package/dist/jsx/message/index.mjs.map +1 -0
- package/dist/jsx/message/index.native.js +32 -0
- package/dist/jsx/message/index.native.js.map +1 -0
- package/dist/jsx/providers/WalletProvider.mjs +9 -3
- package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
- package/dist/jsx/siws/message.mjs +5 -16
- package/dist/jsx/siws/message.mjs.map +1 -1
- package/dist/jsx/siws/message.native.js +6 -16
- package/dist/jsx/siws/message.native.js.map +1 -1
- package/dist/jsx/solana.mjs.map +1 -1
- package/dist/jsx/solana.native.js.map +1 -1
- package/dist/keycloak/login.iife.js +3604 -0
- package/package.json +27 -8
- package/src/clients/evm.spec.ts +644 -10
- package/src/clients/evm.ts +498 -10
- package/src/clients/index.ts +8 -0
- package/src/clients/solana.spec.ts +116 -0
- package/src/clients/solana.ts +51 -31
- package/src/connectkit/GpgProvider.tsx +16 -0
- package/src/connectkit/adapters/BitcoinAdapter.ts +5 -16
- package/src/connectkit/adapters/EthereumAdapter.ts +6 -17
- package/src/connectkit/adapters/SolanaAdapter.ts +5 -16
- package/src/connectkit/adapters/SuiAdapter.ts +5 -16
- package/src/connectkit/connectors/createWalletMessage.ts +1 -1
- package/src/connectkit/index.ts +2 -6
- package/src/connectkit/openConnector/modal.spec.tsx +1 -1
- package/src/connectkit/siwe/SIWEContext.tsx +6 -2
- package/src/connectkit/siwe/SIWEProvider.tsx +22 -5
- package/src/index.ts +3 -0
- package/src/keycloak/KeycloakWalletLogin.native.tsx +7 -0
- package/src/keycloak/KeycloakWalletLogin.spec.tsx +168 -0
- package/src/keycloak/KeycloakWalletLogin.tsx +251 -0
- package/src/keycloak/browserFlow.spec.ts +108 -0
- package/src/keycloak/browserFlow.ts +84 -0
- package/src/keycloak/device.ts +17 -0
- package/src/keycloak/directGrant.spec.ts +331 -0
- package/src/keycloak/directGrant.ts +214 -0
- package/src/keycloak/iife.ts +3 -0
- package/src/keycloak/index.ts +44 -0
- package/src/keycloak/keycloakWallet.spec.ts +216 -0
- package/src/keycloak/keycloakWallet.ts +275 -0
- package/src/keycloak/mount.native.ts +11 -0
- package/src/keycloak/mount.tsx +45 -0
- package/src/keycloak/nonceReset.spec.tsx +205 -0
- package/src/keycloak/registerWallet.spec.ts +88 -0
- package/src/keycloak/registerWallet.ts +59 -0
- package/src/keycloak/types.ts +66 -0
- package/src/keycloak/useDirectLogin.spec.tsx +112 -0
- package/src/keycloak/useDirectLogin.ts +74 -0
- package/src/keycloak/useWalletLogin.native.ts +7 -0
- package/src/keycloak/useWalletLogin.ts +99 -0
- package/src/message/buildWalletMessage.spec.ts +291 -0
- package/src/message/buildWalletMessage.ts +150 -0
- package/src/message/index.ts +8 -0
- package/src/providers/WalletProvider.tsx +15 -2
- package/src/siws/message.ts +3 -22
- package/src/solana.ts +1 -0
- package/types/clients/evm.d.ts +144 -2
- package/types/clients/evm.d.ts.map +1 -1
- package/types/clients/index.d.ts +1 -1
- package/types/clients/index.d.ts.map +1 -1
- package/types/clients/solana.d.ts +14 -5
- package/types/clients/solana.d.ts.map +1 -1
- package/types/connectkit/GpgProvider.d.ts +10 -0
- package/types/connectkit/GpgProvider.d.ts.map +1 -0
- package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/EthereumAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
- package/types/connectkit/connectors/createWalletMessage.d.ts +1 -1
- package/types/connectkit/connectors/createWalletMessage.d.ts.map +1 -1
- package/types/connectkit/index.d.ts +3 -2
- package/types/connectkit/index.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEContext.d.ts +2 -1
- package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/keycloak/KeycloakWalletLogin.d.ts +45 -0
- package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -0
- package/types/keycloak/KeycloakWalletLogin.native.d.ts +4 -0
- package/types/keycloak/KeycloakWalletLogin.native.d.ts.map +1 -0
- package/types/keycloak/browserFlow.d.ts +27 -0
- package/types/keycloak/browserFlow.d.ts.map +1 -0
- package/types/keycloak/device.d.ts +14 -0
- package/types/keycloak/device.d.ts.map +1 -0
- package/types/keycloak/directGrant.d.ts +43 -0
- package/types/keycloak/directGrant.d.ts.map +1 -0
- package/types/keycloak/iife.d.ts +2 -0
- package/types/keycloak/iife.d.ts.map +1 -0
- package/types/keycloak/index.d.ts +12 -0
- package/types/keycloak/index.d.ts.map +1 -0
- package/types/keycloak/keycloakWallet.d.ts +120 -0
- package/types/keycloak/keycloakWallet.d.ts.map +1 -0
- package/types/keycloak/mount.d.ts +16 -0
- package/types/keycloak/mount.d.ts.map +1 -0
- package/types/keycloak/mount.native.d.ts +5 -0
- package/types/keycloak/mount.native.d.ts.map +1 -0
- package/types/keycloak/registerWallet.d.ts +22 -0
- package/types/keycloak/registerWallet.d.ts.map +1 -0
- package/types/keycloak/types.d.ts +50 -0
- package/types/keycloak/types.d.ts.map +1 -0
- package/types/keycloak/useDirectLogin.d.ts +29 -0
- package/types/keycloak/useDirectLogin.d.ts.map +1 -0
- package/types/keycloak/useWalletLogin.d.ts +26 -0
- package/types/keycloak/useWalletLogin.d.ts.map +1 -0
- package/types/keycloak/useWalletLogin.native.d.ts +4 -0
- package/types/keycloak/useWalletLogin.native.d.ts.map +1 -0
- package/types/message/buildWalletMessage.d.ts +46 -0
- package/types/message/buildWalletMessage.d.ts.map +1 -0
- package/types/message/index.d.ts +2 -0
- package/types/message/index.d.ts.map +1 -0
- package/types/providers/WalletProvider.d.ts +8 -1
- package/types/providers/WalletProvider.d.ts.map +1 -1
- package/types/siws/message.d.ts.map +1 -1
- package/types/solana.d.ts +1 -1
- package/types/solana.d.ts.map +1 -1
- package/dist/cjs/connectkit/adapters/messages.cjs +0 -73
- package/dist/cjs/connectkit/adapters/messages.native.js +0 -79
- package/dist/cjs/connectkit/adapters/messages.native.js.map +0 -1
- package/dist/esm/connectkit/adapters/messages.mjs +0 -48
- package/dist/esm/connectkit/adapters/messages.mjs.map +0 -1
- package/dist/esm/connectkit/adapters/messages.native.js +0 -51
- package/dist/esm/connectkit/adapters/messages.native.js.map +0 -1
- package/dist/jsx/connectkit/adapters/messages.mjs +0 -48
- package/dist/jsx/connectkit/adapters/messages.mjs.map +0 -1
- package/dist/jsx/connectkit/adapters/messages.native.js +0 -79
- package/dist/jsx/connectkit/adapters/messages.native.js.map +0 -1
- package/src/connectkit/adapters/messages.ts +0 -84
- package/types/connectkit/adapters/messages.d.ts +0 -16
- 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 @@
|
|
|
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":[]}
|