@canton-network/core-wallet-store 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/schema.d.ts +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/config/schema.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare const storeConfigSchema: z.ZodObject<{
|
|
|
63
63
|
user: z.ZodString;
|
|
64
64
|
password: z.ZodString;
|
|
65
65
|
database: z.ZodString;
|
|
66
|
-
}, z.core.$
|
|
66
|
+
}, z.core.$loose>], "type">;
|
|
67
67
|
}, z.core.$strip>;
|
|
68
68
|
export declare const bootstrapConfigSchema: z.ZodObject<{
|
|
69
69
|
idps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe;;iBAE1B,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe;;iBAE1B,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAoB5B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACnE,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -42,7 +42,9 @@ var storeConfigSchema = zod.z.object({
|
|
|
42
42
|
type: zod.z.literal("sqlite"),
|
|
43
43
|
database: zod.z.string()
|
|
44
44
|
}),
|
|
45
|
-
|
|
45
|
+
// Add validation for some of the most important properties of the postgres driver,
|
|
46
|
+
// but allow for any additional properties to be passed in (e.g. `ssl` for TLS).
|
|
47
|
+
zod.z.looseObject({
|
|
46
48
|
type: zod.z.literal("postgres"),
|
|
47
49
|
host: zod.z.string(),
|
|
48
50
|
port: zod.z.number(),
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Store.ts","../src/config/schema.ts"],"names":["AddressType","PartyLevelRight","UserLevelRight","z","authSchema","idpSchema"],"mappings":";;;;;;AAMO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACH,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,aAAA,CAAA,GAAc,aAAA;AAFN,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAwBL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,iBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AAHP,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,gBAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,gBAAA,sBAAA,CAAA,GAAuB,sBAAA;AAFf,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AC9BL,IAAM,eAAA,GAAkBC,MAAE,MAAA,CAAO;AAAA,EACpC,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACxB,CAAC;AAEM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EAClC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,IAAI,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,kBAAA,EAAoBA,MAAE,MAAA,EAAO;AAAA,EAC7B,SAAA,EAAW,eAAA;AAAA,EACX,IAAA,EAAMC,yBAAA;AAAA,EACN,SAAA,EAAWA,0BAAW,QAAA;AAC1B,CAAC;AAEM,IAAM,iBAAA,GAAoBD,MAAE,MAAA,CAAO;AAAA,EACtC,UAAA,EAAYA,KAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,IACrCA,MAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAMA,KAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,KAC3B,CAAA;AAAA,IACDA,MAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAMA,KAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACxB,QAAA,EAAUA,MAAE,MAAA;AAAO,KACtB,CAAA;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/Store.ts","../src/config/schema.ts"],"names":["AddressType","PartyLevelRight","UserLevelRight","z","authSchema","idpSchema"],"mappings":";;;;;;AAMO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACH,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,aAAA,CAAA,GAAc,aAAA;AAFN,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAwBL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,iBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AAHP,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,gBAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,gBAAA,sBAAA,CAAA,GAAuB,sBAAA;AAFf,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AC9BL,IAAM,eAAA,GAAkBC,MAAE,MAAA,CAAO;AAAA,EACpC,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACxB,CAAC;AAEM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EAClC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,IAAI,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,kBAAA,EAAoBA,MAAE,MAAA,EAAO;AAAA,EAC7B,SAAA,EAAW,eAAA;AAAA,EACX,IAAA,EAAMC,yBAAA;AAAA,EACN,SAAA,EAAWA,0BAAW,QAAA;AAC1B,CAAC;AAEM,IAAM,iBAAA,GAAoBD,MAAE,MAAA,CAAO;AAAA,EACtC,UAAA,EAAYA,KAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,IACrCA,MAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAMA,KAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,KAC3B,CAAA;AAAA,IACDA,MAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAMA,KAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACxB,QAAA,EAAUA,MAAE,MAAA;AAAO,KACtB,CAAA;AAAA;AAAA;AAAA,IAGDA,MAAE,WAAA,CAAY;AAAA,MACV,IAAA,EAAMA,KAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,MAC1B,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,MACf,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,MACnB,QAAA,EAAUA,MAAE,MAAA;AAAO,KACtB;AAAA,GACJ;AACL,CAAC;AAEM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,KAAA,CAAE,KAAA,CAAME,wBAAS,CAAA;AAAA,EACvB,QAAA,EAAUF,KAAA,CAAE,KAAA,CAAM,aAAa;AACnC,CAAC","file":"index.cjs","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Idp } from '@canton-network/core-wallet-auth'\nimport { Network } from './config/schema'\n\nexport enum AddressType {\n PaperAddress = 'PaperAddress',\n CCSPAddress = 'CCSPAddress',\n}\n\nexport type PartyId = string\n\nexport interface SigningDriver {\n signingDriverId: string\n}\n\nexport interface SigningProvider {\n signingProviderId: string\n privateKey?: string\n addressType: AddressType\n}\n\nexport interface WalletFilter {\n networkIds?: string[]\n signingProviderIds?: string[]\n}\n\nexport type CurrentNetworkWalletFilter = Omit<WalletFilter, 'networkIds'>\n\nexport enum PartyLevelRight {\n CanActAs = 'CanActAs',\n CanReadAs = 'CanReadAs',\n CanExecuteAs = 'CanExecuteAs',\n}\n\nexport enum UserLevelRight {\n CanReadAsAnyParty = 'CanReadAsAnyParty',\n CanExecuteAsAnyParty = 'CanExecuteAsAnyParty',\n}\n\nexport interface UpdateWallet {\n partyId: PartyId\n networkId?: string\n status?: WalletStatus\n externalTxId?: string\n topologyTransactions?: string\n disabled?: boolean\n reason?: string\n primary?: boolean\n rights?: PartyLevelRight[]\n}\n\nexport type WalletStatus = 'initialized' | 'allocated' | 'removed'\n\nexport interface Wallet {\n primary: boolean\n status: WalletStatus\n partyId: PartyId\n hint: string\n publicKey: string\n namespace: string\n networkId: string\n signingProviderId: string\n externalTxId?: string\n topologyTransactions?: string\n disabled?: boolean\n reason?: string\n rights: PartyLevelRight[]\n // hosted: [network]\n}\n\n// Session management\n\nexport interface Session {\n id: string\n network: string\n accessToken: string\n}\n\nexport interface Transaction {\n id: string\n status: 'pending' | 'signed' | 'executed' | 'failed'\n commandId: string\n preparedTransaction: string\n preparedTransactionHash: string\n payload?: unknown\n origin: string | null\n createdAt?: Date\n signedAt?: Date\n externalTxId?: string\n}\n\nexport interface TransactionStatusUpdate {\n payload?: unknown\n signedAt?: Date\n externalTxId?: string\n}\n\nexport interface MessageRaw {\n id: string\n status: 'pending' | 'signed' | 'failed'\n userId: string\n partyId: PartyId\n publicKey: string\n message: string\n origin: string | null\n createdAt: Date\n signedAt?: Date\n signature?: string\n}\n\nexport interface MessageRawStatusUpdate {\n signedAt?: Date\n signature?: string\n}\n\n// Store interface for managing wallets, sessions, networks, and transactions\n\nexport interface Store {\n // Wallet methods\n getWallets(filter?: CurrentNetworkWalletFilter): Promise<Array<Wallet>>\n getAllWallets(filter?: WalletFilter): Promise<Array<Wallet>>\n getPrimaryWallet(): Promise<Wallet | undefined>\n setPrimaryWallet(partyId: PartyId): Promise<void>\n addWallet(wallet: Wallet): Promise<void>\n updateWallet(params: UpdateWallet): Promise<void>\n removeWallet(partyId: PartyId): Promise<void>\n getUserRights(networkId?: string): Promise<Array<UserLevelRight>>\n setUserRights(\n networkId: string,\n rights: Array<UserLevelRight>\n ): Promise<void>\n\n // Session methods\n getSession(): Promise<Session | undefined>\n setSession(session: Session): Promise<void>\n removeSession(): Promise<void>\n\n // IDP methods\n getIdp(idpId: string): Promise<Idp>\n listIdps(): Promise<Array<Idp>>\n updateIdp(idp: Idp): Promise<void>\n addIdp(idp: Idp): Promise<void>\n removeIdp(idpId: string): Promise<void>\n\n // Network methods\n getNetwork(networkId: string): Promise<Network>\n getCurrentNetwork(): Promise<Network>\n listNetworks(): Promise<Array<Network>>\n updateNetwork(network: Network): Promise<void>\n addNetwork(network: Network): Promise<void>\n removeNetwork(networkId: string): Promise<void>\n\n // Transaction methods\n setTransaction(tx: Transaction): Promise<void>\n setTransactionSigned(\n transactionId: string,\n signedAt: Date,\n externalTxId?: string\n ): Promise<void>\n setTransactionStatus(\n transactionId: string,\n status: Transaction['status'],\n updates?: TransactionStatusUpdate\n ): Promise<void>\n getTransaction(transactionId: string): Promise<Transaction | undefined>\n getLatestTransactionByCommandId(\n commandId: string\n ): Promise<Transaction | undefined>\n listTransactions(): Promise<Array<Transaction>>\n removeTransaction(transactionId: string): Promise<void>\n\n // Message signing request methods\n setMessageRaw(message: MessageRaw): Promise<void>\n setMessageRawStatus(\n messageId: string,\n status: MessageRaw['status'],\n updates?: MessageRawStatusUpdate\n ): Promise<void>\n getMessageRaw(messageId: string): Promise<MessageRaw | undefined>\n listMessageRaws(): Promise<Array<MessageRaw>>\n removeMessageRaw(messageId: string): Promise<void>\n}\n","// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { authSchema, idpSchema } from '@canton-network/core-wallet-auth'\nimport { z } from 'zod'\n\nexport const ledgerApiSchema = z.object({\n baseUrl: z.string().url(),\n})\n\nexport const networkSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n synchronizerId: z.string().includes('::').min(10).optional(),\n identityProviderId: z.string(),\n ledgerApi: ledgerApiSchema,\n auth: authSchema,\n adminAuth: authSchema.optional(),\n})\n\nexport const storeConfigSchema = z.object({\n connection: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('memory'),\n }),\n z.object({\n type: z.literal('sqlite'),\n database: z.string(),\n }),\n // Add validation for some of the most important properties of the postgres driver,\n // but allow for any additional properties to be passed in (e.g. `ssl` for TLS).\n z.looseObject({\n type: z.literal('postgres'),\n host: z.string(),\n port: z.number(),\n user: z.string(),\n password: z.string(),\n database: z.string(),\n }),\n ]),\n})\n\nexport const bootstrapConfigSchema = z.object({\n idps: z.array(idpSchema),\n networks: z.array(networkSchema),\n})\n\nexport type StoreConfig = z.infer<typeof storeConfigSchema>\nexport type BootstrapConfig = z.infer<typeof bootstrapConfigSchema>\nexport type Network = z.infer<typeof networkSchema>\nexport type LedgerApi = z.infer<typeof ledgerApiSchema>\n"]}
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,9 @@ var storeConfigSchema = z.object({
|
|
|
40
40
|
type: z.literal("sqlite"),
|
|
41
41
|
database: z.string()
|
|
42
42
|
}),
|
|
43
|
-
|
|
43
|
+
// Add validation for some of the most important properties of the postgres driver,
|
|
44
|
+
// but allow for any additional properties to be passed in (e.g. `ssl` for TLS).
|
|
45
|
+
z.looseObject({
|
|
44
46
|
type: z.literal("postgres"),
|
|
45
47
|
host: z.string(),
|
|
46
48
|
port: z.number(),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Store.ts","../src/config/schema.ts"],"names":["AddressType","PartyLevelRight","UserLevelRight"],"mappings":";;;;AAMO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACH,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,aAAA,CAAA,GAAc,aAAA;AAFN,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAwBL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,iBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AAHP,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,gBAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,gBAAA,sBAAA,CAAA,GAAuB,sBAAA;AAFf,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AC9BL,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACpC,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACxB,CAAC;AAEM,IAAM,aAAA,GAAgB,EAAE,MAAA,CAAO;AAAA,EAClC,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,IAAI,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,kBAAA,EAAoB,EAAE,MAAA,EAAO;AAAA,EAC7B,SAAA,EAAW,eAAA;AAAA,EACX,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW,WAAW,QAAA;AAC1B,CAAC;AAEM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACtC,UAAA,EAAY,CAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,IACrC,EAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,KAC3B,CAAA;AAAA,IACD,EAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACxB,QAAA,EAAU,EAAE,MAAA;AAAO,KACtB,CAAA;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/Store.ts","../src/config/schema.ts"],"names":["AddressType","PartyLevelRight","UserLevelRight"],"mappings":";;;;AAMO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACH,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,aAAA,CAAA,GAAc,aAAA;AAFN,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAwBL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,iBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AAHP,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,gBAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,gBAAA,sBAAA,CAAA,GAAuB,sBAAA;AAFf,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AC9BL,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACpC,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACxB,CAAC;AAEM,IAAM,aAAA,GAAgB,EAAE,MAAA,CAAO;AAAA,EAClC,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,IAAI,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,kBAAA,EAAoB,EAAE,MAAA,EAAO;AAAA,EAC7B,SAAA,EAAW,eAAA;AAAA,EACX,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW,WAAW,QAAA;AAC1B,CAAC;AAEM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACtC,UAAA,EAAY,CAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,IACrC,EAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,KAC3B,CAAA;AAAA,IACD,EAAE,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACxB,QAAA,EAAU,EAAE,MAAA;AAAO,KACtB,CAAA;AAAA;AAAA;AAAA,IAGD,EAAE,WAAA,CAAY;AAAA,MACV,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,MAC1B,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,MACf,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,MACnB,QAAA,EAAU,EAAE,MAAA;AAAO,KACtB;AAAA,GACJ;AACL,CAAC;AAEM,IAAM,qBAAA,GAAwB,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,SAAS,CAAA;AAAA,EACvB,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,aAAa;AACnC,CAAC","file":"index.js","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Idp } from '@canton-network/core-wallet-auth'\nimport { Network } from './config/schema'\n\nexport enum AddressType {\n PaperAddress = 'PaperAddress',\n CCSPAddress = 'CCSPAddress',\n}\n\nexport type PartyId = string\n\nexport interface SigningDriver {\n signingDriverId: string\n}\n\nexport interface SigningProvider {\n signingProviderId: string\n privateKey?: string\n addressType: AddressType\n}\n\nexport interface WalletFilter {\n networkIds?: string[]\n signingProviderIds?: string[]\n}\n\nexport type CurrentNetworkWalletFilter = Omit<WalletFilter, 'networkIds'>\n\nexport enum PartyLevelRight {\n CanActAs = 'CanActAs',\n CanReadAs = 'CanReadAs',\n CanExecuteAs = 'CanExecuteAs',\n}\n\nexport enum UserLevelRight {\n CanReadAsAnyParty = 'CanReadAsAnyParty',\n CanExecuteAsAnyParty = 'CanExecuteAsAnyParty',\n}\n\nexport interface UpdateWallet {\n partyId: PartyId\n networkId?: string\n status?: WalletStatus\n externalTxId?: string\n topologyTransactions?: string\n disabled?: boolean\n reason?: string\n primary?: boolean\n rights?: PartyLevelRight[]\n}\n\nexport type WalletStatus = 'initialized' | 'allocated' | 'removed'\n\nexport interface Wallet {\n primary: boolean\n status: WalletStatus\n partyId: PartyId\n hint: string\n publicKey: string\n namespace: string\n networkId: string\n signingProviderId: string\n externalTxId?: string\n topologyTransactions?: string\n disabled?: boolean\n reason?: string\n rights: PartyLevelRight[]\n // hosted: [network]\n}\n\n// Session management\n\nexport interface Session {\n id: string\n network: string\n accessToken: string\n}\n\nexport interface Transaction {\n id: string\n status: 'pending' | 'signed' | 'executed' | 'failed'\n commandId: string\n preparedTransaction: string\n preparedTransactionHash: string\n payload?: unknown\n origin: string | null\n createdAt?: Date\n signedAt?: Date\n externalTxId?: string\n}\n\nexport interface TransactionStatusUpdate {\n payload?: unknown\n signedAt?: Date\n externalTxId?: string\n}\n\nexport interface MessageRaw {\n id: string\n status: 'pending' | 'signed' | 'failed'\n userId: string\n partyId: PartyId\n publicKey: string\n message: string\n origin: string | null\n createdAt: Date\n signedAt?: Date\n signature?: string\n}\n\nexport interface MessageRawStatusUpdate {\n signedAt?: Date\n signature?: string\n}\n\n// Store interface for managing wallets, sessions, networks, and transactions\n\nexport interface Store {\n // Wallet methods\n getWallets(filter?: CurrentNetworkWalletFilter): Promise<Array<Wallet>>\n getAllWallets(filter?: WalletFilter): Promise<Array<Wallet>>\n getPrimaryWallet(): Promise<Wallet | undefined>\n setPrimaryWallet(partyId: PartyId): Promise<void>\n addWallet(wallet: Wallet): Promise<void>\n updateWallet(params: UpdateWallet): Promise<void>\n removeWallet(partyId: PartyId): Promise<void>\n getUserRights(networkId?: string): Promise<Array<UserLevelRight>>\n setUserRights(\n networkId: string,\n rights: Array<UserLevelRight>\n ): Promise<void>\n\n // Session methods\n getSession(): Promise<Session | undefined>\n setSession(session: Session): Promise<void>\n removeSession(): Promise<void>\n\n // IDP methods\n getIdp(idpId: string): Promise<Idp>\n listIdps(): Promise<Array<Idp>>\n updateIdp(idp: Idp): Promise<void>\n addIdp(idp: Idp): Promise<void>\n removeIdp(idpId: string): Promise<void>\n\n // Network methods\n getNetwork(networkId: string): Promise<Network>\n getCurrentNetwork(): Promise<Network>\n listNetworks(): Promise<Array<Network>>\n updateNetwork(network: Network): Promise<void>\n addNetwork(network: Network): Promise<void>\n removeNetwork(networkId: string): Promise<void>\n\n // Transaction methods\n setTransaction(tx: Transaction): Promise<void>\n setTransactionSigned(\n transactionId: string,\n signedAt: Date,\n externalTxId?: string\n ): Promise<void>\n setTransactionStatus(\n transactionId: string,\n status: Transaction['status'],\n updates?: TransactionStatusUpdate\n ): Promise<void>\n getTransaction(transactionId: string): Promise<Transaction | undefined>\n getLatestTransactionByCommandId(\n commandId: string\n ): Promise<Transaction | undefined>\n listTransactions(): Promise<Array<Transaction>>\n removeTransaction(transactionId: string): Promise<void>\n\n // Message signing request methods\n setMessageRaw(message: MessageRaw): Promise<void>\n setMessageRawStatus(\n messageId: string,\n status: MessageRaw['status'],\n updates?: MessageRawStatusUpdate\n ): Promise<void>\n getMessageRaw(messageId: string): Promise<MessageRaw | undefined>\n listMessageRaws(): Promise<Array<MessageRaw>>\n removeMessageRaw(messageId: string): Promise<void>\n}\n","// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { authSchema, idpSchema } from '@canton-network/core-wallet-auth'\nimport { z } from 'zod'\n\nexport const ledgerApiSchema = z.object({\n baseUrl: z.string().url(),\n})\n\nexport const networkSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n synchronizerId: z.string().includes('::').min(10).optional(),\n identityProviderId: z.string(),\n ledgerApi: ledgerApiSchema,\n auth: authSchema,\n adminAuth: authSchema.optional(),\n})\n\nexport const storeConfigSchema = z.object({\n connection: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('memory'),\n }),\n z.object({\n type: z.literal('sqlite'),\n database: z.string(),\n }),\n // Add validation for some of the most important properties of the postgres driver,\n // but allow for any additional properties to be passed in (e.g. `ssl` for TLS).\n z.looseObject({\n type: z.literal('postgres'),\n host: z.string(),\n port: z.number(),\n user: z.string(),\n password: z.string(),\n database: z.string(),\n }),\n ]),\n})\n\nexport const bootstrapConfigSchema = z.object({\n idps: z.array(idpSchema),\n networks: z.array(networkSchema),\n})\n\nexport type StoreConfig = z.infer<typeof storeConfigSchema>\nexport type BootstrapConfig = z.infer<typeof bootstrapConfigSchema>\nexport type Network = z.infer<typeof networkSchema>\nexport type LedgerApi = z.infer<typeof ledgerApiSchema>\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canton-network/core-wallet-store",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Store API provides persistency for the Wallet Gateway",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"test:coverage": "vitest run --project node --project browser --coverage --passWithNoTests"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@canton-network/core-wallet-auth": "^1.3.
|
|
20
|
+
"@canton-network/core-wallet-auth": "^1.3.2",
|
|
21
21
|
"zod": "^4.3.6"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|