Skip to content

Conversation

@GTC6244
Copy link
Contributor

@GTC6244 GTC6244 commented Jan 9, 2026

Pull request overview

This pull request adds support for Datil and Naga keysets in Lit Actions by introducing a keySetId parameter across the entire Lit Actions SDK and related infrastructure. This enables Lit Actions to work with different keyset configurations, particularly supporting the Datil testnet environment.

Key changes:

  • Added keySetId parameter to all signing, encryption, and PKP permission operations in the JavaScript SDK
  • Updated protocol buffer schemas to include keySetId field in all relevant request types
  • Modified Rust backend to handle keySetId in action execution and removed it from the top-level JsonExecutionRequest
  • Updated test infrastructure to support both Naga and Datil testnet types with appropriate keyset configurations

NOTES

  • this PR relies heavily on the authentication work done for PKPs.
  • there is limited test coverage for datil lit actions. ( to be increased )
  • there is no coverage of datil + naga keysets used simultaneous, though the code is designed to support this. ( to be added )

@GTC6244 GTC6244 self-assigned this Jan 9, 2026
@GTC6244 GTC6244 added the keysets label Jan 9, 2026
@GTC6244 GTC6244 changed the title Feature/node 4931 implement lit actions for datil Feature/node 4931 implement lit actions for keysets (datil support!) Jan 9, 2026
@GTC6244 GTC6244 changed the base branch from master to keysets January 9, 2026 17:58
@GTC6244 GTC6244 marked this pull request as ready for review January 9, 2026 17:59
Copilot AI review requested due to automatic review settings January 9, 2026 17:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds support for Datil and Naga keysets in Lit Actions by introducing a keySetId parameter across the entire Lit Actions SDK and related infrastructure. This enables Lit Actions to work with different keyset configurations, particularly supporting the Datil testnet environment.

Key changes:

  • Added keySetId parameter to all signing, encryption, and PKP permission operations in the JavaScript SDK
  • Updated protocol buffer schemas to include keySetId field in all relevant request types
  • Modified Rust backend to handle keySetId in action execution and removed it from the top-level JsonExecutionRequest
  • Updated test infrastructure to support both Naga and Datil testnet types with appropriate keyset configurations

Reviewed changes

Copilot reviewed 29 out of 31 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
rust/lit-node/lit-node/tests/lit_action_scripts/*.js Added keySetId parameter to signing, encryption, and decryption operations in test scripts
rust/lit-node/lit-node/tests/integration/session_sigs.rs Removed key_set_id parameter from function signatures and usage (now passed via js_params)
rust/lit-node/lit-node/tests/integration/lit_actions.rs Added Datil testnet support with new test cases and is_datil flag for keyset selection
rust/lit-node/lit-node/tests/integration/integration_tests.rs Minor formatting improvements (whitespace cleanup)
rust/lit-node/lit-node/tests/common/*.rs Updated helper functions to pass keySetId via js_params instead of as separate parameter
rust/lit-node/lit-node/src/functions/action_client.rs Added keySetId parameter handling across all operations (signing, encryption, PKP permissions)
rust/lit-node/lit-node-testnet/src/testnet/contracts_repo.rs Updated cache path generation to include network state differentiation
rust/lit-node/lit-node-testnet/src/end_user/datil_pkp.rs Set default Datil keyset ID for Datil PKPs
rust/lit-node/lit-node-core/src/models/request.rs Removed key_set_id field from JsonExecutionRequest (moved to js_params)
rust/lit-actions/tests/it.rs Added key_set_id field to test request structures
rust/lit-actions/grpc/schema/lit_actions.proto Added key_set_id field to all relevant protobuf message types
rust/lit-actions/ext/js/02_litActionsSDK.js Added keySetId parameter with default value datilKeySetId to all SDK functions
rust/lit-actions/ext/bindings.rs Updated Rust bindings to pass key_set_id parameter from JavaScript to native code
rust/lit-actions/docs/*.d.ts and api_docs.md Added keySetId parameter documentation to TypeScript definitions and markdown docs

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

PASS [ 43.108s] (3/3) lit_node::test toxiproxy::perf_tests::load_with_no_latency
PASS [ 43.240s] (2/3) lit_node::test toxiproxy::perf_tests::load_with_50ms_latency_single_link
PASS [ 86.048s] (1/3) lit_node::test toxiproxy::perf_tests::load_with_50ms_latency_all_links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants