Skip to content

feat(session): add client channel store#571

Open
parvahuja wants to merge 2 commits into
wevm:mainfrom
parvahuja:parv/session-channel-store
Open

feat(session): add client channel store#571
parvahuja wants to merge 2 commits into
wevm:mainfrom
parvahuja:parv/session-channel-store

Conversation

@parvahuja

@parvahuja parvahuja commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Added a client channelStore for reusable TIP-1034 session channels.
  • Resumes stored channels by payment scope and evicts stale entries before opening fresh.
  • Removed the client-side authorizedSigner override; voucher authority now comes from the selected account.

Validation

  • VITE_TEMPO_NETWORK=none pnpm exec vp test --run src/tempo/session/client/CredentialState.test.ts src/tempo/session/client/Session.test.ts src/tempo/session/client/ChannelOps.test.ts src/tempo/session/client/SessionManager.test.ts
  • pnpm check:types
  • pnpm check

@pkg-pr-new

pkg-pr-new Bot commented Jun 19, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/mppx@571

commit: a0ea3e8

export function canSignDescriptor(
account: ViemAccount,
descriptor: Channel.ChannelDescriptor,
authorizedSigner?: Address | undefined,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

not directly related but noticed this felt dense and I think authorizedSigner is the smell here and as part of the session

mppx is built on passing in an account that is then used, so passing in an address override that can't even sign but we have to check against everywhere seems pointless

think it could likely be dropped and would simplify things a bit. if we really wanted to override the voucher signer it'd make more sense for something like voucherSigner: Account but probably fine to assume account == voucher signer for now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

talked with brendan in office and we agreed to just remove the authorizedSigner optionality on the client side for now... if this becomes a feature in the future, agree that voucherAccount is the better abstraction... updating

@deodad deodad left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm though think authorizedSigner could probably go might be worth seeing if brendan has an opinion

@parvahuja parvahuja changed the title feat(session): add pluggable channel store feat(session): add client channel store Jun 23, 2026
@parvahuja parvahuja marked this pull request as ready for review June 23, 2026 22:06
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.

2 participants