@canton-network/core-wallet-store 1.7.1 → 1.8.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/Store.d.ts CHANGED
@@ -92,6 +92,16 @@ export interface MessageRawStatusUpdate {
92
92
  signedAt?: Date;
93
93
  signature?: string;
94
94
  }
95
+ export interface ApiKey {
96
+ id: string;
97
+ name: string;
98
+ digest: string;
99
+ createdAt: Date;
100
+ lastUsedAt?: Date | undefined;
101
+ userId: string;
102
+ email: string | null;
103
+ networkId: string;
104
+ }
95
105
  export interface Store {
96
106
  getWallets(filter?: CurrentNetworkWalletFilter): Promise<Array<Wallet>>;
97
107
  getAllWallets(filter?: WalletFilter): Promise<Array<Wallet>>;
@@ -128,5 +138,9 @@ export interface Store {
128
138
  getMessageRaw(messageId: string): Promise<MessageRaw | undefined>;
129
139
  listMessageRaws(): Promise<Array<MessageRaw>>;
130
140
  removeMessageRaw(messageId: string): Promise<void>;
141
+ addApiKey(apiKey: ApiKey): Promise<void>;
142
+ listApiKeys(): Promise<Array<ApiKey>>;
143
+ getApiKey(digest: string): Promise<ApiKey | undefined>;
144
+ removeApiKey(apiKeyId: string): Promise<void>;
131
145
  }
132
146
  //# sourceMappingURL=Store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,oBAAY,WAAW;IACnB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC9B;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,MAAM,WAAW,aAAa;IAC1B,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,WAAW,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAEzE,oBAAY,eAAe;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAChC;AAED,oBAAY,cAAc;IACtB,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;CAChD;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAA;AAElE,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,EAAE,CAAA;CAE5B;AAID,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAGD,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB;AAID,MAAM,WAAW,KAAK;IAElB,UAAU,CAAC,MAAM,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5D,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC/C,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAA;IAGhB,UAAU,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IAC1C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAG9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAGvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IACvC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAG/C,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,oBAAoB,CAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,IAAI,EACd,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,oBAAoB,CAChB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;IACvE,+BAA+B,CAC3B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;IACnC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/C,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAGvD,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,mBAAmB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,OAAO,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACjE,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAGlD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACtD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD"}
@@ -49,6 +49,25 @@ export declare const networkSchema: z.ZodObject<{
49
49
  clientId: z.ZodString;
50
50
  clientSecret: z.ZodString;
51
51
  }, z.core.$strip>], "method">>;
52
+ serviceAccountAuth: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
53
+ method: z.ZodLiteral<"authorization_code">;
54
+ audience: z.ZodString;
55
+ scope: z.ZodString;
56
+ clientId: z.ZodString;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ method: z.ZodLiteral<"client_credentials">;
59
+ audience: z.ZodString;
60
+ scope: z.ZodString;
61
+ clientId: z.ZodString;
62
+ clientSecret: z.ZodString;
63
+ }, z.core.$strip>, z.ZodObject<{
64
+ method: z.ZodLiteral<"self_signed">;
65
+ issuer: z.ZodString;
66
+ audience: z.ZodString;
67
+ scope: z.ZodString;
68
+ clientId: z.ZodString;
69
+ clientSecret: z.ZodString;
70
+ }, z.core.$strip>], "method">>;
52
71
  }, z.core.$strip>;
53
72
  export declare const storeConfigSchema: z.ZodObject<{
54
73
  connection: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -123,6 +142,25 @@ export declare const bootstrapConfigSchema: z.ZodObject<{
123
142
  clientId: z.ZodString;
124
143
  clientSecret: z.ZodString;
125
144
  }, z.core.$strip>], "method">>;
145
+ serviceAccountAuth: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
146
+ method: z.ZodLiteral<"authorization_code">;
147
+ audience: z.ZodString;
148
+ scope: z.ZodString;
149
+ clientId: z.ZodString;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ method: z.ZodLiteral<"client_credentials">;
152
+ audience: z.ZodString;
153
+ scope: z.ZodString;
154
+ clientId: z.ZodString;
155
+ clientSecret: z.ZodString;
156
+ }, z.core.$strip>, z.ZodObject<{
157
+ method: z.ZodLiteral<"self_signed">;
158
+ issuer: z.ZodString;
159
+ audience: z.ZodString;
160
+ scope: z.ZodString;
161
+ clientId: z.ZodString;
162
+ clientSecret: z.ZodString;
163
+ }, z.core.$strip>], "method">>;
126
164
  }, z.core.$strip>>;
127
165
  }, z.core.$strip>;
128
166
  export type StoreConfig = z.infer<typeof storeConfigSchema>;
@@ -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;;;;;;;;;;;;;;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUxB,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
@@ -31,7 +31,8 @@ var networkSchema = zod.z.object({
31
31
  identityProviderId: zod.z.string(),
32
32
  ledgerApi: ledgerApiSchema,
33
33
  auth: coreWalletAuth.authSchema,
34
- adminAuth: coreWalletAuth.authSchema.optional()
34
+ adminAuth: coreWalletAuth.authSchema.optional(),
35
+ serviceAccountAuth: coreWalletAuth.authSchema.optional()
35
36
  });
36
37
  var storeConfigSchema = zod.z.object({
37
38
  connection: zod.z.discriminatedUnion("type", [
@@ -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;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"]}
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,EAAS;AAAA,EAC/B,kBAAA,EAAoBA,0BAAW,QAAA;AACnC,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// API keys\nexport interface ApiKey {\n id: string\n name: string\n digest: string\n createdAt: Date\n lastUsedAt?: Date | undefined\n userId: string\n email: string | null\n networkId: 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 // API Key methods\n addApiKey(apiKey: ApiKey): Promise<void>\n listApiKeys(): Promise<Array<ApiKey>>\n getApiKey(digest: string): Promise<ApiKey | undefined>\n removeApiKey(apiKeyId: 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 serviceAccountAuth: 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
@@ -29,7 +29,8 @@ var networkSchema = z.object({
29
29
  identityProviderId: z.string(),
30
30
  ledgerApi: ledgerApiSchema,
31
31
  auth: authSchema,
32
- adminAuth: authSchema.optional()
32
+ adminAuth: authSchema.optional(),
33
+ serviceAccountAuth: authSchema.optional()
33
34
  });
34
35
  var storeConfigSchema = z.object({
35
36
  connection: z.discriminatedUnion("type", [
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;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"]}
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,EAAS;AAAA,EAC/B,kBAAA,EAAoB,WAAW,QAAA;AACnC,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// API keys\nexport interface ApiKey {\n id: string\n name: string\n digest: string\n createdAt: Date\n lastUsedAt?: Date | undefined\n userId: string\n email: string | null\n networkId: 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 // API Key methods\n addApiKey(apiKey: ApiKey): Promise<void>\n listApiKeys(): Promise<Array<ApiKey>>\n getApiKey(digest: string): Promise<ApiKey | undefined>\n removeApiKey(apiKeyId: 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 serviceAccountAuth: 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.7.1",
3
+ "version": "1.8.0",
4
4
  "type": "module",
5
5
  "description": "The Store API provides persistency for the Wallet Gateway",
6
6
  "license": "Apache-2.0",
@@ -16,7 +16,7 @@
16
16
  "test:coverage": "vitest run --project node --project browser --coverage --passWithNoTests"
17
17
  },
18
18
  "dependencies": {
19
- "@canton-network/core-wallet-auth": "^1.6.1",
19
+ "@canton-network/core-wallet-auth": "^1.7.0",
20
20
  "zod": "^4.4.3"
21
21
  },
22
22
  "devDependencies": {