Skip to content

feat: reinstate Liquid Auth #376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Jun 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a7b4967
Revert "refactor(liquid): remove Liquid Auth provider (#337)"
HashMapsData2Value Jan 22, 2025
b8c4968
fix: update liquid auth use wallet client version
HashMapsData2Value Jan 23, 2025
981590d
Merge branch 'v4' into fix/reinstate-liquid
HashMapsData2Value Apr 10, 2025
3e04c38
feat: replace custom liquid-auth backend with liquid-auth.onrender.com
HashMapsData2Value Apr 10, 2025
e4d85e3
feat: replace custom liquid-auth backend with liquid-auth.onrender.com
HashMapsData2Value Apr 10, 2025
90596c9
feat: replace custom liquid-auth backend with liquid-auth.onrender.com
HashMapsData2Value Apr 10, 2025
8ec583e
fix: bump liquid-auth-use-wallet-client
HashMapsData2Value Apr 11, 2025
1a6b030
fix: update rts username and credential configuration
HashMapsData2Value Apr 11, 2025
e7d5c37
lint: prettier
HashMapsData2Value Jun 17, 2025
d837172
fix: resume session now calls disconnect
HashMapsData2Value Jun 17, 2025
e803182
chore: adjusted tests
HashMapsData2Value Jun 17, 2025
a440866
docs: include iOS 17 and update link
HashMapsData2Value Jun 18, 2025
6f1df02
Merge branch 'main' into fix/reinstate-liquid
HashMapsData2Value Jun 18, 2025
aa6b593
chore: pnpm-lock
HashMapsData2Value Jun 18, 2025
ae33ef2
chore: update Algorand debug endpoint URL
HashMapsData2Value Jun 18, 2025
0c0b75a
chore: remove unnecessary docs
HashMapsData2Value Jun 23, 2025
1f948d0
docs: add liquid auth to supported-wallet docs
HashMapsData2Value Jun 23, 2025
dc35261
Merge remote-tracking branch 'upstream/main' into fix/reinstate-liquid
HashMapsData2Value Jun 23, 2025
24b5d22
docs: fix typos
HashMapsData2Value Jun 27, 2025
63ff879
fix: add to selte
HashMapsData2Value Jun 27, 2025
3b61b09
fix: ensure cbor-x is handled as external
HashMapsData2Value Jun 27, 2025
f29663a
fix: temporarily disable liquid for svelte
HashMapsData2Value Jun 27, 2025
6d52ab0
chore: prettier
HashMapsData2Value Jun 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"rangeStrategy": "bump",
"matchPackageNames": [
"/@agoralabs-sh/avm-web-provider/",
"/@algorandfoundation/liquid-auth-use-wallet-client/",
"/@magic-ext/algorand/",
"/magic-sdk/",
"/lute-connect/",
Expand Down
30 changes: 30 additions & 0 deletions docs/getting-started/supported-wallets.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,36 @@ WalletId.BIATEC
* [Biatec Website](https://wallet.biatec.io)
* [Biatec GitHub Repository](https://github.com/scholtz/wallet)

#### Liquid Auth (experimental)

Liquid Auth is a self-hosted authentication service that provides a simple way to associate Passkeys to spending KeyPairs commonly found in cryptocurrencies, in accordance with the FIDO2 WebAuthn specification. In addition to authentication, Liquid Auth provides a Peer to Peer signaling service.

Not only can you authenticate users, you can also establish secure, WebRTC-based connections between a mobile wallet and a desktop dApp. Liquid Auth serves as an alternative to protocols where access is controlled or limited by centralized entities.

The Liquid Auth wallet provider defaults to `window.origin` as the origin, assuming the Liquid Auth backend is hosted on the same domain. Alternatively, you can specify a custom endpoint.

```typescript
import { WalletId } from '@txnlab/use-wallet'

{
id: WalletId.LIQUID,
options: {
origin?: string,
RTC_config_username: string,
RTC_config_credential: string
}
}
```

The example use cases are configured to use the Algorand Foundation-hosted endpoint at `https://debug.liquidauth.com`, with `liquid-auth` as the username and `sqmcP4MiTKMT4TGEDSk9jgHY` as the credential. This endpoint is suitable for testing but should NOT be used in production environments.


{% hint style="info" %}
The Liquid Auth provider is currently experimental and subject to change in future releases. It requires users to have an Android v14+ device or an iOS 17+ device, and for developers to set up a [specific backend](https://liquidauth.com/server/introduction/). For more info, please refer to the [documentation](https://liquidauth.com/guides/getting-started/).
{% endhint %}

[Liquid Auth documentation](https://liquidauth.com/guides/getting-started/)

### Development Wallets

#### KMD
Expand Down
1 change: 1 addition & 0 deletions examples/nuxt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"test:e2e": "playwright test"
},
"dependencies": {
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@noble/ed25519": "2.3.0",
"@perawallet/connect": "^1.4.1",
Expand Down
8 changes: 8 additions & 0 deletions examples/nuxt/plugins/walletManager.client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ export default defineNuxtPlugin((nuxtApp) => {
},
WalletId.KMD,
WalletId.KIBISIS,
{
id: WalletId.LIQUID,
options: {
origin: 'https://debug.liquidauth.com',
RTC_config_username: 'liquid-auth',
RTC_config_credential: 'sqmcP4MiTKMT4TGEDSk9jgHY'
}
},
WalletId.LUTE,
{
id: WalletId.MAGIC,
Expand Down
1 change: 1 addition & 0 deletions examples/react-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"test:e2e": "playwright test"
},
"dependencies": {
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@noble/ed25519": "2.3.0",
"@perawallet/connect": "^1.4.1",
Expand Down
8 changes: 8 additions & 0 deletions examples/react-ts/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ const walletManager = new WalletManager({
},
WalletId.KMD,
WalletId.KIBISIS,
{
id: WalletId.LIQUID,
options: {
origin: 'https://debug.liquidauth.com',
RTC_config_username: 'liquid-auth',
RTC_config_credential: 'sqmcP4MiTKMT4TGEDSk9jgHY'
}
},
WalletId.LUTE,
{
id: WalletId.MAGIC,
Expand Down
1 change: 1 addition & 0 deletions examples/solid-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"test:e2e": "playwright test"
},
"dependencies": {
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@noble/ed25519": "2.3.0",
"@perawallet/connect": "^1.4.1",
Expand Down
8 changes: 8 additions & 0 deletions examples/solid-ts/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ const walletManager = new WalletManager({
},
WalletId.KMD,
WalletId.KIBISIS,
{
id: WalletId.LIQUID,
options: {
origin: 'https://debug.liquidauth.com',
RTC_config_username: 'liquid-auth',
RTC_config_credential: 'sqmcP4MiTKMT4TGEDSk9jgHY'
}
},
WalletId.LUTE,
{
id: WalletId.MAGIC,
Expand Down
6 changes: 5 additions & 1 deletion examples/svelte-ts/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@ import { defineConfig } from 'vite'
import { nodePolyfills } from 'vite-plugin-node-polyfills'

export default defineConfig({
plugins: [sveltekit(), nodePolyfills()]
plugins: [sveltekit(), nodePolyfills()],
ssr: {
noExternal: ['@algorandfoundation/liquid-auth-use-wallet-client'],
external: ['cbor-x']
}
})
1 change: 1 addition & 0 deletions examples/vanilla-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"vite-plugin-node-polyfills": "0.23.0"
},
"dependencies": {
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@noble/ed25519": "2.3.0",
"@perawallet/connect": "^1.4.1",
Expand Down
8 changes: 8 additions & 0 deletions examples/vanilla-ts/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ const walletManager = new WalletManager({
},
WalletId.KMD,
WalletId.KIBISIS,
{
id: WalletId.LIQUID,
options: {
origin: 'https://debug.liquidauth.com',
RTC_config_username: 'liquid-auth',
RTC_config_credential: 'sqmcP4MiTKMT4TGEDSk9jgHY'
}
},
WalletId.LUTE,
{
id: WalletId.MAGIC,
Expand Down
1 change: 1 addition & 0 deletions examples/vue-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"test:e2e": "playwright test"
},
"dependencies": {
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@noble/ed25519": "2.3.0",
"@perawallet/connect": "^1.4.1",
Expand Down
8 changes: 8 additions & 0 deletions examples/vue-ts/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ app.use(WalletManagerPlugin, {
},
WalletId.KMD,
WalletId.KIBISIS,
{
id: WalletId.LIQUID,
options: {
origin: 'https://debug.liquidauth.com',
RTC_config_username: 'liquid-auth',
RTC_config_credential: 'sqmcP4MiTKMT4TGEDSk9jgHY'
}
},
WalletId.LUTE,
{
id: WalletId.MAGIC,
Expand Down
5 changes: 5 additions & 0 deletions packages/use-wallet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
},
"devDependencies": {
"@agoralabs-sh/avm-web-provider": "1.7.0",
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "1.2.1",
"@magic-ext/algorand": "24.1.0",
"@magic-sdk/provider": "29.1.0",
Expand All @@ -59,6 +60,7 @@
},
"peerDependencies": {
"@agoralabs-sh/avm-web-provider": "^1.7.0",
"@algorandfoundation/liquid-auth-use-wallet-client": "^1.4.0-canary.1",
"@blockshake/defly-connect": "^1.2.1",
"@perawallet/connect": "^1.4.1",
"@walletconnect/modal": "^2.7.0",
Expand All @@ -70,6 +72,9 @@
"@agoralabs-sh/avm-web-provider": {
"optional": true
},
"@algorandfoundation/liquid-auth-use-wallet-client": {
"optional": true
},
"@blockshake/defly-connect": {
"optional": true
},
Expand Down
Loading