Skip to content

Conversation

@mjuchli-da
Copy link
Contributor

No description provided.

Vasilis Dialinos added 3 commits October 15, 2025 23:40
- Add SigningDriverStore interface for persistent storage of signing
data
- Implement SigningDriverProxy to wrap drivers with persistence
capabilities
- Add SigningDriverFactory interface and registry for driver management
- Create factory implementations for Fireblocks, Internal, and
Participant drivers
- Add SQL schema migrations for signing driver data storage
- Implement batch operations for keys, transactions, and configuration
- Add support for driver-specific metadata and configuration persistence
- Enable caching of signing operations with fallback to underlying
drivers

Signed-off-by: Vasilis Dialinos <vasilis.dialinos@lifescale.me>
…r-store-support

Signed-off-by: Vasilis Dialinos <vasilis.dialinos@lifescale.me>
Signed-off-by: Vasilis Dialinos <vasilis.dialinos@lifescale.me>
userId: string,
keyId: string
): Promise<
import('@canton-network/core-signing-lib').SigningKey | undefined
Copy link
Contributor

Choose a reason for hiding this comment

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

move imports to the top for readability

Comment on lines +373 to +376
console.log(
'setSigningKey - serialized data:',
JSON.stringify(serialized, null, 2)
)
Copy link
Contributor

Choose a reason for hiding this comment

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

@mjuchli-da do you know if we should be using pino or a generalized logger?

@@ -0,0 +1,96 @@
// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
Copy link
Contributor

Choose a reason for hiding this comment

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

Think git lost track of this with the file being moved + renamed -- the changes here should be diff'd and applied now to wallet-gateway/remote/src/init.ts

@mjuchli-da
Copy link
Contributor Author

Current state:

  • Revert the introduction of the SigningDriverProxy (not needed)

  • The persistence of the internal state of the InternalSigningDriver is still to be done and currently memory-only:

private signer: Map<string, InternalKey> = new Map()
private signerByPublicKey: Map<string, InternalKey> = new Map()
private transactions: Map<string, InternalTransaction> = new Map()
  • SigningDriverStore interface makes sense, however I believe we should have a separate store package (e.g. signing-store-sql), similar to our wallet-store-sql, to implement that. This separates the concerns a bit better and allows to have different schemas and have them more loosely coupled.

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