File tree Expand file tree Collapse file tree 2 files changed +28
-1
lines changed
Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ import {
3333 toTransaction ,
3434 toWallet ,
3535} from './schema.js'
36+ import { LedgerClient } from '@canton-network/core-ledger-client'
3637
3738export class StoreSql implements BaseStore , AuthAware < StoreSql > {
3839 authContext : AuthContext | undefined
@@ -372,9 +373,34 @@ export class StoreSql implements BaseStore, AuthAware<StoreSql> {
372373 if ( networkAlreadyExists ) {
373374 throw new Error ( `Network ${ network . id } already exists` )
374375 } else {
376+ //connectivity test
377+ const ledgerClient = new LedgerClient ( {
378+ baseUrl : new URL ( network . ledgerApi . baseUrl ) ,
379+ logger : this . logger ,
380+ } )
381+ let connectivityCheck = false
382+ this . logger . info (
383+ `Checking connectivity to ledger at ${ network . ledgerApi . baseUrl } `
384+ )
385+
386+ try {
387+ const version = await ledgerClient . get ( '/v2/version' )
388+ if ( version . version ) {
389+ connectivityCheck = true
390+ }
391+ } catch ( error ) {
392+ this . logger . warn (
393+ `Failed to connect to ledger at ${ network . ledgerApi . baseUrl } : ${ error } `
394+ )
395+ }
375396 await trx
376397 . insertInto ( 'networks' )
377- . values ( fromNetwork ( network , userId ) )
398+ . values (
399+ fromNetwork (
400+ { ...network , verified : connectivityCheck } ,
401+ userId
402+ )
403+ )
378404 . execute ( )
379405 }
380406 } )
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ export const networkSchema = z.object({
1717 ledgerApi : ledgerApiSchema ,
1818 auth : authSchema ,
1919 adminAuth : authSchema . optional ( ) ,
20+ verified : z . boolean ( ) . optional ( ) ,
2021} )
2122
2223export const storeConfigSchema = z . object ( {
You can’t perform that action at this time.
0 commit comments