Skip to content

fix: pad bytes32 values for proper abi encoding#61

Merged
cpb8010 merged 2 commits intomainfrom
lyova-pad-bytes32
Feb 21, 2025
Merged

fix: pad bytes32 values for proper abi encoding#61
cpb8010 merged 2 commits intomainfrom
lyova-pad-bytes32

Conversation

@ly0va
Copy link
Member

@ly0va ly0va commented Feb 11, 2025

No description provided.

Copy link
Contributor

@MexicanAce MexicanAce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions
Copy link

github-actions bot commented Feb 11, 2025

Visit the preview URL for this PR (updated for commit 18697fe):

https://zksync-auth-server-staging--pr61-lyova-pad-bytes32-njamjqf4.web.app

(expires Fri, 28 Feb 2025 02:22:23 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 509a9c9ea42583076f531c53cf2979c544d5d0b7

Copy link
Contributor

@cpb8010 cpb8010 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@cpb8010 cpb8010 merged commit 24e4495 into main Feb 21, 2025
7 checks passed
@cpb8010 cpb8010 deleted the lyova-pad-bytes32 branch February 21, 2025 02:35
@cpb8010
Copy link
Contributor

cpb8010 commented Mar 12, 2025

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
Co-authored-by: cpb8010 <cpb8010@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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants