Skip to content

Conversation

SgtPooki
Copy link
Collaborator

@SgtPooki SgtPooki commented Oct 13, 2025

Needed on top of #103 in order to test session keys

Also:

  1. cleans up some exit scenarios - exitCode = 1 instead of process.exit()
    • and cleanupSynapseService instead of cleanupProvider(provider)
  2. auth input handling - shared cli auth helpers and types.. cleans up command code significantly.. shared auth options so names, descriptions, and defaults are normalized.

rvagg and others added 3 commits October 13, 2025 17:01
Adds session key mode as an alternative to private key authentication,
allowing delegated authorisation without wallet prompts. Session keys
are verified to have 30+ minutes remaining validity at initialization.
The owner wallet's private key isn't required for CreateDataSet or
AddPieces operations in this mode, so we only require the owner address.

- add AddressOnlySigner for read-only owner wallet access
- add WALLET_ADDRESS and SESSION_KEY env var support to add/import commands
- fix FIL balance check to use owner wallet instead of session key

NOTE: This will fail if the owner wallet doesn't meet the payments setup
requirements, there's no ability to auto-fix funding or authorisation setup
without being able to sign with that wallet.
@SgtPooki SgtPooki requested a review from rvagg October 13, 2025 14:34
Base automatically changed from rvagg/session-keys to master October 13, 2025 15:53
@SgtPooki SgtPooki merged commit e362531 into master Oct 13, 2025
17 of 18 checks passed
@SgtPooki SgtPooki deleted the feat/cli-session-key-support branch October 13, 2025 16:12
@rvagg
Copy link
Member

rvagg commented Oct 14, 2025

FYI I'm not against this, but I intentionally didn't add CLI args because there's complexity in dealing with session keys without offering utilities to make it easier to work with so I thought a hidden feature for now would be better. Funding and authorisation setup is the big problem, you've partly solved that with the new check-skip that you added but we're back at the problem of what happens if the wallet isn't properly set up, we have no catch for that.

I think we probably need to add back some checks and have proper early-fail conditions to make the UX more reasonable.

Also, I really like session keys for the github action, just like an API key. But we need better tools for it first so people can make them and manage them. @hugomrdias says he has ideas for a web UI for managing your session keys, if we get that then we should pivot the action to prefer them instead of your private key. Although we'd want to think about the auto-fund option since we don't (yet) have session keys doing payments stuff, but maybe we can do.

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