Skip to content

feat: new passkey signature format#58

Merged
cpb8010 merged 32 commits intomainfrom
multi-domain-passkey
Mar 10, 2025
Merged

feat: new passkey signature format#58
cpb8010 merged 32 commits intomainfrom
multi-domain-passkey

Conversation

@cpb8010
Copy link
Contributor

@cpb8010 cpb8010 commented Feb 5, 2025

Description

Update the passkey account init data format to include the passkey credential id and update the signing format to include the same credential id.

matter-labs/zksync-sso-clave-contracts#270

Additional context

By using this id we allow multiple passkeys per domain without having to check all possible passkeys on the contract side.
This is pretty major breaking change for the passkey module, anything attempting to read or write passkeys to it will break and there's no way to migrate existing module users.

ABI and deployment script

Because much of this required ABI and contract address changes, I've added scripts and automated much of this within CI. I've kept the files so it works out of the box locally, but CI will fail when the contracts and code now get out of sync.

Future updates

The SDK assumes that the unique account id is the passkey credential id, that will need to change with a security update to prevent front-running that id here: matter-labs/zksync-sso-clave-contracts#309
As for now this really only allows creating back-up passkeys, as only the first passkey created with an account will be able to sign in with it.

includes the credential id, which is hopefully available
@cpb8010 cpb8010 self-assigned this Feb 5, 2025
@cpb8010 cpb8010 added the enhancement New feature or request label Feb 5, 2025
@github-actions
Copy link

github-actions bot commented Feb 5, 2025

Visit the preview URL for this PR (updated for commit 91722da):

https://zksync-auth-server-staging--pr58-multi-domain-passkey-liioqojv.web.app

(expires Sat, 15 Mar 2025 19:03:36 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 509a9c9ea42583076f531c53cf2979c544d5d0b7

cpb8010 and others added 12 commits February 6, 2025 23:55
It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing
When deploying the contracts, it should create the file, blocking the build
Can have a different test to make sure this gets updated or
put the contract build step into the other builds
Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...
This was correct on creation, but wrong on signing
This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds
You just have to know that the quest address is added via .env.local
so the object in the config isn't used
@cpb8010 cpb8010 marked this pull request as ready for review February 12, 2025 01:46
@cpb8010 cpb8010 requested review from JackHamer09, jackpooleyml and ly0va and removed request for ly0va February 12, 2025 01:47
@cpb8010 cpb8010 changed the title feat: new passkey signature format [draft] feat: new passkey signature format Feb 15, 2025
Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible
Picks up a fix from the publish function for the correct abi
It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?
problem was not the file format, but the file name change
@cpb8010 cpb8010 changed the title [draft] feat: new passkey signature format feat: new passkey signature format Feb 24, 2025
cpb8010 and others added 6 commits March 4, 2025 10:15
* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
This was already fixed during guardian module work
breaking name and argument changes were not published
Added publish step to readme
now automatically checked via types!
The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84
Updating the tests to match
@cpb8010 cpb8010 enabled auto-merge (squash) March 7, 2025 01:33
The connection between the dapp and the auth-server isn't a trusted
one so we should be careful providing that data without context
@JackHamer09
Copy link
Member

What's the reason for the message?

@cpb8010
Copy link
Contributor Author

cpb8010 commented Mar 8, 2025

What's the reason for the message?

So the message is a proof of concept to show that we can pass specific data from the client SDK to the auth server. It's designed to pass user information for custom auth servers that can use this user information to work with their own identity provider services!

@JackHamer09
Copy link
Member

Then it doesn't seem that we need to display the message on the UI

@cpb8010
Copy link
Contributor Author

cpb8010 commented Mar 8, 2025

Then it doesn't seem that we need to display the message on the UI

@JackHamer09 I've updated this to remove the proof of concept so this is an entirely hidden functionality. Was the concern that the SSO login screen would have the message support baked in where the intention is to have it be entirely optional?

I'm most concerned that I have no other method of verification that this does pass the data. We only have e2e test coverage for this and without a way to show this on the UI we'd need a different test framework to see that the data provided to the SDK does arrive in the auth-server. Because there's no usage examples, I'd also be concerned this could be accidentally removed, as it looks unused! I might add this to my documentation PR here: #63

This might have been confused as a suggestion to use this instead
of an optional parameter. The only concern now is that this critical
feature functionality looks unused.
@cpb8010 cpb8010 merged commit 1812b38 into main Mar 10, 2025
7 checks passed
@cpb8010 cpb8010 deleted the multi-domain-passkey branch March 10, 2025 14:27
cpb8010 added a commit that referenced this pull request Mar 11, 2025
* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
matias-gonz added a commit that referenced this pull request Mar 13, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: Matías Ignacio González <maigonzalez@fi.uba.ar>
calvogenerico added a commit that referenced this pull request Mar 14, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: calvo.generico <miguelfeliped@gmail.com>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: Matías Ignacio González <maigonzalez@fi.uba.ar>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: calvo.generico <miguelfeliped@gmail.com>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: Matías Ignacio González <maigonzalez@fi.uba.ar>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: calvo.generico <miguelfeliped@gmail.com>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: Matías Ignacio González <maigonzalez@fi.uba.ar>
cpb8010 added a commit that referenced this pull request Jul 16, 2025
* feat: add initial guardian recovery views

* feat: add confirm guardian view

* feat: improve guardian view with edge cases

* fix: remove commented code

* feat: improve component imports

* feat: add logout icon in desktop breakpoint

* fix: naming

* fix: pnpm lock

* fix: wrong nav component import

* fix: add missing package to cspell

* feat: add recover account views

* feat: add unknown account page

* feat: improve account init recovery start

* feat: reorganize routes with typed routes

* feat: add recovery process warning when logged in

* feat: add account not ready page

* fix: confirm-guardian page

* feat: add base guardian recovery module

* chore: update contracts submodule

* chore: update contracts submodule

* chore: update contracts submodule

* feat: add sso account validation

* Update packages/auth-server/pages/recovery/guardian/index.vue

Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>

* feat: add integration with /recovery/guardian/find-account

* feat: integrate contracts in guardians settings page

* feat: set proper path to confirm-guardian page

* feat: add guardian confirmation integration

* feat: add ui improvements

* feat: address pr comments

* feat: update contracts submodule

* chore: update contract submodule

* feat: add integration to confirm recovery view

* feat: add integration with cancel recovery (#53)

* feat: add integration with cancel recovery

* feat: update contracts submodule and abi

* feat: add verify recovery view on the main page

* chore: update contracts

* feat: add missing nuxt config

* feat: new passkey signature format

includes the credential id, which is hopefully available

* feat: custom paymaster handler & zyfi integration (#51)

* feat: custom paymaster handler & zyfi integration

* feat: export paymaster package

* fix: bigint serializer

* feat: passkey paymaster handler & general paymaster handler & fix types

* fix: import path

* chore: add new words to cspell

* chore: fix zyfi input data

* fix: ci (#60)

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: improve confirm guardian flow

* chore: update contracts package

* feat: execute pending recovery on login (#57)

* feat: execute pending recovery on login

* feat: move recovery client to sdk

* feat: add account-not-ready view

* chore: fix pnpm lock

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>

* fix: parse newly created account address from events (#66)

* fix: parse newly created account address from events

* fix: unit tests

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: pad bytes32 values for proper abi encoding (#61)

Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* feat: improve recovery flow (#71)

* feat: add placeholder to account select component

* feat: add init recovery method to be used by any client

* feat: improve recovery flow

* feat: improve confirm recovery flow

* feat: improve styles

* Feat/update to match contracts (#81)

* feat: update to work with new guardian validator

* chore: update contracts submodule

* chore: remove duplicated hooks

* chore: update guardian validator abi

* feat: update to match new contracts

* chore: update contracts repo

* feat: use recovery guardian sso contracts deployment

* chore: temporarily hardcode appkit project id

* chore: temporarily change app url

* feat: unify encoding of credential id

* feat: unify encoding of credential id

* feat: use provider from appkit

* feat: new passkey signature format (#58)

* feat: new passkey signature format

includes the credential id, which is hopefully available

* fix: update to include credential id on creation

Also update contracts locally

* chore: update to latest contracts

* fix: update lockfile from contract dep change

* fix: import for utils

* fix: update signature format tests

It doesn't look correct visually, but it's mocked on both ends
so it's not super clear on what it's testing

* feat: attempt to use new dynamic contract addresses

When deploying the contracts, it should create the file, blocking the build

* fix: provide an example file

Can have a different test to make sure this gets updated or
put the contract build step into the other builds

* fix: add create2 to nft deploy

Try encoding the local contracts directly instead of via env vars
doesn't appear to work locally...

* fix: encode passkey id as bytes

This was correct on creation, but wrong on signing

* chore: update to latest contract

* fix: update hardcoded signatures for passkey view

This was super tough to find and would have been a compile error
had we imported the abi directly from the contracts!

This is something I'm going to look into so we don't lose our minds

* fix: remove debugging changes

You just have to know that the quest address is added via .env.local
so the object in the config isn't used

* feat: attempt to import abi automatically

Having to manually update the ABI kinda defeats the point of type
safety, but it's clear the auto-generated one doesn't play nice
with the existing file so more work will be necessary to update it
so it's compatible

* fix: use view function to get key

Picks up a fix from the publish function for the correct abi

* fix: remove publish from CI

It looks like nuxt builds don't like the poorly formatted json,
so instead of trying to pretty print the abi automatically we'll
rely on the editor tools to do this.

At the very least the publish step is documented?

* fix: update import names

problem was not the file format, but the file name change

* fix: use pnpm run build instead of build

CI is behaving strange?

* fix: use correct contract branch

* fix: pull contract directory in CI

This explains why the build was failing

* feat: setup local node for deploy

This should be fine because we aren't actually using it

* [wip] Add application metadata (#82)

* feat: provide auth-server metadata

Can be helpful for custom auth-server implementions that want extra data

* fix: use a record instead of an array of records

There's not really much extra flexibility here, so just keep it simple

* fix: update demo app with new metadata format

* Update packages/auth-server/components/session/Metadata.vue

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* fix: update to breaking factory change

This was already fixed during guardian module work

* fix: update ABI

breaking name and argument changes were not published
Added publish step to readme

* fix: update new variable name

now automatically checked via types!

* fix: update test mock

The log parsing format is broken because the return type changed,
but regenerating the log format is non-trival so that can be updated later.

introducing #84

* fix: update account id length

Updating the tests to match

---------

Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>

* feat: update to latest contracts version

* chore: fix build

* feat: upgrate paymaster

* chore: bump submodules

* chore: bump contract submodule

* fix: fixes after merge

oidc working
lots of testing missing

* fix: fix nft app wip

* feat: remove aud and iss from pub inputs (#90)

* feat: remove aud and iss from pub inputs

remove aud and iss from pub inputs

* fix: test should deploy all contracts

test should deploy all contracts

* fix: fixed sdk tests

---------

Co-authored-by: calvo.generico <miguelfeliped@gmail.com>

* fix: more fixes

* fix: more fixes

---------

Co-authored-by: aon <21188659+aon@users.noreply.github.com>
Co-authored-by: Lukasz Romanowski <5160687+MiniRoman@users.noreply.github.com>
Co-authored-by: cbe <cbe@matterlabs.dev>
Co-authored-by: Utkir S. <sobirovutkir@gmail.com>
Co-authored-by: Nicolas Villanueva <1890113+MexicanAce@users.noreply.github.com>
Co-authored-by: cpb8010 <cpb8010@users.noreply.github.com>
Co-authored-by: Lyova Potyomkin <lyova.potyomkin@gmail.com>
Co-authored-by: calvo.generico <miguelfeliped@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants