@canton-network/core-provider-ledger 0.2.0 → 0.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/LedgerProvider.d.ts +3 -2
- package/dist/LedgerProvider.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
package/dist/LedgerProvider.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AbstractProvider } from '@canton-network/core-splice-provider';
|
|
2
2
|
import { RequestArgs } from '@canton-network/core-types';
|
|
3
3
|
import { LedgerTypes } from '@canton-network/core-ledger-client-types';
|
|
4
|
+
import { AccessTokenProvider } from '@canton-network/core-wallet-auth';
|
|
4
5
|
export declare class LedgerProvider extends AbstractProvider<LedgerTypes> {
|
|
5
6
|
private client;
|
|
6
|
-
constructor({ baseUrl,
|
|
7
|
+
constructor({ baseUrl, accessTokenProvider, }: {
|
|
7
8
|
baseUrl: string | URL;
|
|
8
|
-
|
|
9
|
+
accessTokenProvider: AccessTokenProvider;
|
|
9
10
|
});
|
|
10
11
|
/**
|
|
11
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LedgerProvider.d.ts","sourceRoot":"","sources":["../src/LedgerProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"LedgerProvider.d.ts","sourceRoot":"","sources":["../src/LedgerProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAOtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAEtE,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAc;gBAEhB,EACR,OAAO,EACP,mBAAmB,GACtB,EAAE;QACC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;QACrB,mBAAmB,EAAE,mBAAmB,CAAA;KAC3C;IAUD;;;;;;;;;;;;;;;;;;;OAmBG;IACU,OAAO,CAAC,CAAC,SAAS,WAAW,EACtC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;IAuCpC,OAAO,CAAC,eAAe;CAgB1B"}
|
package/dist/index.cjs
CHANGED
|
@@ -15,13 +15,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
|
15
15
|
var LedgerProvider = class extends coreSpliceProvider.AbstractProvider {
|
|
16
16
|
constructor({
|
|
17
17
|
baseUrl,
|
|
18
|
-
|
|
18
|
+
accessTokenProvider
|
|
19
19
|
}) {
|
|
20
20
|
super();
|
|
21
21
|
__publicField(this, "client");
|
|
22
22
|
this.client = new coreLedgerClient.LedgerClient({
|
|
23
23
|
baseUrl: typeof baseUrl === "string" ? new URL(baseUrl) : baseUrl,
|
|
24
|
-
|
|
24
|
+
accessTokenProvider,
|
|
25
25
|
// TODO: use some generalized logger
|
|
26
26
|
logger: pino__default.default({ name: "LedgerProvider" })
|
|
27
27
|
});
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/LedgerProvider.ts"],"names":["AbstractProvider","LedgerClient","pino"],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/LedgerProvider.ts"],"names":["AbstractProvider","LedgerClient","pino"],"mappings":";;;;;;;;;;;;;;AAcO,IAAM,cAAA,GAAN,cAA6BA,mCAAA,CAA8B;AAAA,EAG9D,WAAA,CAAY;AAAA,IACR,OAAA;AAAA,IACA;AAAA,GACJ,EAGG;AACC,IAAA,KAAA,EAAM;AATV,IAAA,aAAA,CAAA,IAAA,EAAQ,QAAA,CAAA;AAUJ,IAAA,IAAA,CAAK,MAAA,GAAS,IAAIC,6BAAA,CAAa;AAAA,MAC3B,SAAS,OAAO,OAAA,KAAY,WAAW,IAAI,GAAA,CAAI,OAAO,CAAA,GAAI,OAAA;AAAA,MAC1D,mBAAA;AAAA;AAAA,MAEA,MAAA,EAAQC,qBAAA,CAAK,EAAE,IAAA,EAAM,kBAAkB;AAAA,KAC1C,CAAA;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,MAAa,QACT,IAAA,EACiC;AACjC,IAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,IAAI,CAAA;AAErC,IAAA,IAAI,IAAA,CAAK,MAAA,KAAW,WAAA,IAAe,QAAA,IAAY,IAAA,EAAM;AACjD,MAAA,QAAQ,IAAA,CAAK,OAAO,aAAA;AAAe,QAC/B,KAAK,KAAA,EAAO;AACR,UAAA,MAAM,MAAA,GAAS,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,MAAM,CAAA;AAE/C,UAAA,OAAO,MAAM,KAAK,MAAA,CAAO,YAAA;AAAA,YACrB,KAAK,MAAA,CAAO,QAAA;AAAA;AAAA,YACZ,MAAA;AAAA,YACA;AAAA,WACJ;AAAA,QACJ;AAAA,QACA,KAAK,MAAA,EAAQ;AACT,UAAA,MAAM,MAAA,GAAS,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,MAAM,CAAA;AAC/C,UAAA,MAAM,OAAO,MAAA,IAAU,IAAA,CAAK,SAAS,IAAA,CAAK,MAAA,CAAO,OAAO,EAAC;AAEzD,UAAA,OAAO,MAAM,KAAK,MAAA,CAAO,aAAA;AAAA,YACrB,KAAK,MAAA,CAAO,QAAA;AAAA;AAAA,YACZ,IAAA;AAAA;AAAA,YACA,MAAA;AAAA,YACA;AAAA,WACJ;AAAA,QACJ;AAAA;AAAA,QAEA,KAAK,QAAA;AAAA,QACL,KAAK,OAAA;AAAA,QACL,SAAS;AACL,UAAA,MAAM,IAAI,KAAA;AAAA,YACN,CAAA,4BAAA,EAA+B,IAAA,CAAK,MAAA,CAAO,aAAa,CAAA;AAAA,WAC5D;AAAA,QACJ;AAAA;AACJ,IACJ,CAAA,MAAO;AACH,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,IAAA,CAAK,MAAM,CAAA,CAAE,CAAA;AAAA,IACxD;AAAA,EACJ;AAAA,EAEQ,gBAAgB,MAAA,EAGtB;AACE,IAAA,MAAM,YAAY,EAAC;AAEnB,IAAA,IAAI,UAAU,MAAA,EAAQ;AAClB,MAAA,MAAA,CAAO,OAAO,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AAAA,IAClD;AAEA,IAAA,IAAI,WAAW,MAAA,EAAQ;AACnB,MAAA,MAAA,CAAO,OAAO,SAAA,EAAW,EAAE,KAAA,EAAO,MAAA,CAAO,OAAO,CAAA;AAAA,IACpD;AAEA,IAAA,OAAO,SAAA;AAAA,EACX;AACJ","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 { AbstractProvider } from '@canton-network/core-splice-provider'\nimport { RequestArgs } from '@canton-network/core-types'\nimport { LedgerTypes } from '@canton-network/core-ledger-client-types'\nimport {\n GetEndpoint,\n LedgerClient,\n PostEndpoint,\n} from '@canton-network/core-ledger-client'\nimport pino from 'pino'\nimport { AccessTokenProvider } from '@canton-network/core-wallet-auth'\n\nexport class LedgerProvider extends AbstractProvider<LedgerTypes> {\n private client: LedgerClient\n\n constructor({\n baseUrl,\n accessTokenProvider,\n }: {\n baseUrl: string | URL\n accessTokenProvider: AccessTokenProvider\n }) {\n super()\n this.client = new LedgerClient({\n baseUrl: typeof baseUrl === 'string' ? new URL(baseUrl) : baseUrl,\n accessTokenProvider,\n // TODO: use some generalized logger\n logger: pino({ name: 'LedgerProvider' }),\n })\n }\n\n /**\n *\n * Example usage:\n *\n * const provider = new LedgerProvider(...)\n *\n * // Caveat: TypeScript can infer the correct params body based on the method + API path, but the result will be typed as `unknown` without a type argument:\n *\n * const result1 = await provider.request({ method: 'ledgerApi', params: { ... } });\n * // ^ type = `unknown`\n *\n *\n * // Specify an operation type to get a fully typed result:\n *\n * const result2 = await provider.request<Ops.PostV2Parties>({ method: 'ledgerApi', params: { ... } });\n * // ^ type = `PostV2Parties['ledgerApi']['result']`\n *\n * @param args\n * @returns\n */\n public async request<L extends LedgerTypes>(\n args: RequestArgs<L, 'ledgerApi'>\n ): Promise<L['ledgerApi']['result']> {\n console.log('Received request:', args)\n\n if (args.method === 'ledgerApi' && 'params' in args) {\n switch (args.params.requestMethod) {\n case 'get': {\n const params = this.getLedgerParams(args.params)\n\n return await this.client.getWithRetry(\n args.params.resource as GetEndpoint, // TODO: casting is necessary b/c of v3.3/v3.4 differences\n undefined,\n params\n )\n }\n case 'post': {\n const params = this.getLedgerParams(args.params)\n const body = 'body' in args.params ? args.params.body : {}\n\n return await this.client.postWithRetry(\n args.params.resource as PostEndpoint, // TODO: casting is necessary b/c of v3.3/v3.4 differences\n body as never, // TODO: need to fix client typing\n undefined,\n params\n )\n }\n // TODO: generalize LedgerClient to support any HTTP method\n case 'delete':\n case 'patch':\n default: {\n throw new Error(\n `Unsupported request method: ${args.params.requestMethod}`\n )\n }\n }\n } else {\n throw new Error(`Unsupported method: ${args.method}`)\n }\n }\n\n private getLedgerParams(params: object): {\n path?: Record<string, string>\n query?: Record<string, string>\n } {\n const extracted = {}\n\n if ('path' in params) {\n Object.assign(extracted, { path: params.path })\n }\n\n if ('query' in params) {\n Object.assign(extracted, { query: params.query })\n }\n\n return extracted\n }\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -9,13 +9,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
|
9
9
|
var LedgerProvider = class extends AbstractProvider {
|
|
10
10
|
constructor({
|
|
11
11
|
baseUrl,
|
|
12
|
-
|
|
12
|
+
accessTokenProvider
|
|
13
13
|
}) {
|
|
14
14
|
super();
|
|
15
15
|
__publicField(this, "client");
|
|
16
16
|
this.client = new LedgerClient({
|
|
17
17
|
baseUrl: typeof baseUrl === "string" ? new URL(baseUrl) : baseUrl,
|
|
18
|
-
|
|
18
|
+
accessTokenProvider,
|
|
19
19
|
// TODO: use some generalized logger
|
|
20
20
|
logger: pino({ name: "LedgerProvider" })
|
|
21
21
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/LedgerProvider.ts"],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/LedgerProvider.ts"],"names":[],"mappings":";;;;;;;;AAcO,IAAM,cAAA,GAAN,cAA6B,gBAAA,CAA8B;AAAA,EAG9D,WAAA,CAAY;AAAA,IACR,OAAA;AAAA,IACA;AAAA,GACJ,EAGG;AACC,IAAA,KAAA,EAAM;AATV,IAAA,aAAA,CAAA,IAAA,EAAQ,QAAA,CAAA;AAUJ,IAAA,IAAA,CAAK,MAAA,GAAS,IAAI,YAAA,CAAa;AAAA,MAC3B,SAAS,OAAO,OAAA,KAAY,WAAW,IAAI,GAAA,CAAI,OAAO,CAAA,GAAI,OAAA;AAAA,MAC1D,mBAAA;AAAA;AAAA,MAEA,MAAA,EAAQ,IAAA,CAAK,EAAE,IAAA,EAAM,kBAAkB;AAAA,KAC1C,CAAA;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,MAAa,QACT,IAAA,EACiC;AACjC,IAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,IAAI,CAAA;AAErC,IAAA,IAAI,IAAA,CAAK,MAAA,KAAW,WAAA,IAAe,QAAA,IAAY,IAAA,EAAM;AACjD,MAAA,QAAQ,IAAA,CAAK,OAAO,aAAA;AAAe,QAC/B,KAAK,KAAA,EAAO;AACR,UAAA,MAAM,MAAA,GAAS,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,MAAM,CAAA;AAE/C,UAAA,OAAO,MAAM,KAAK,MAAA,CAAO,YAAA;AAAA,YACrB,KAAK,MAAA,CAAO,QAAA;AAAA;AAAA,YACZ,MAAA;AAAA,YACA;AAAA,WACJ;AAAA,QACJ;AAAA,QACA,KAAK,MAAA,EAAQ;AACT,UAAA,MAAM,MAAA,GAAS,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,MAAM,CAAA;AAC/C,UAAA,MAAM,OAAO,MAAA,IAAU,IAAA,CAAK,SAAS,IAAA,CAAK,MAAA,CAAO,OAAO,EAAC;AAEzD,UAAA,OAAO,MAAM,KAAK,MAAA,CAAO,aAAA;AAAA,YACrB,KAAK,MAAA,CAAO,QAAA;AAAA;AAAA,YACZ,IAAA;AAAA;AAAA,YACA,MAAA;AAAA,YACA;AAAA,WACJ;AAAA,QACJ;AAAA;AAAA,QAEA,KAAK,QAAA;AAAA,QACL,KAAK,OAAA;AAAA,QACL,SAAS;AACL,UAAA,MAAM,IAAI,KAAA;AAAA,YACN,CAAA,4BAAA,EAA+B,IAAA,CAAK,MAAA,CAAO,aAAa,CAAA;AAAA,WAC5D;AAAA,QACJ;AAAA;AACJ,IACJ,CAAA,MAAO;AACH,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,IAAA,CAAK,MAAM,CAAA,CAAE,CAAA;AAAA,IACxD;AAAA,EACJ;AAAA,EAEQ,gBAAgB,MAAA,EAGtB;AACE,IAAA,MAAM,YAAY,EAAC;AAEnB,IAAA,IAAI,UAAU,MAAA,EAAQ;AAClB,MAAA,MAAA,CAAO,OAAO,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AAAA,IAClD;AAEA,IAAA,IAAI,WAAW,MAAA,EAAQ;AACnB,MAAA,MAAA,CAAO,OAAO,SAAA,EAAW,EAAE,KAAA,EAAO,MAAA,CAAO,OAAO,CAAA;AAAA,IACpD;AAEA,IAAA,OAAO,SAAA;AAAA,EACX;AACJ","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 { AbstractProvider } from '@canton-network/core-splice-provider'\nimport { RequestArgs } from '@canton-network/core-types'\nimport { LedgerTypes } from '@canton-network/core-ledger-client-types'\nimport {\n GetEndpoint,\n LedgerClient,\n PostEndpoint,\n} from '@canton-network/core-ledger-client'\nimport pino from 'pino'\nimport { AccessTokenProvider } from '@canton-network/core-wallet-auth'\n\nexport class LedgerProvider extends AbstractProvider<LedgerTypes> {\n private client: LedgerClient\n\n constructor({\n baseUrl,\n accessTokenProvider,\n }: {\n baseUrl: string | URL\n accessTokenProvider: AccessTokenProvider\n }) {\n super()\n this.client = new LedgerClient({\n baseUrl: typeof baseUrl === 'string' ? new URL(baseUrl) : baseUrl,\n accessTokenProvider,\n // TODO: use some generalized logger\n logger: pino({ name: 'LedgerProvider' }),\n })\n }\n\n /**\n *\n * Example usage:\n *\n * const provider = new LedgerProvider(...)\n *\n * // Caveat: TypeScript can infer the correct params body based on the method + API path, but the result will be typed as `unknown` without a type argument:\n *\n * const result1 = await provider.request({ method: 'ledgerApi', params: { ... } });\n * // ^ type = `unknown`\n *\n *\n * // Specify an operation type to get a fully typed result:\n *\n * const result2 = await provider.request<Ops.PostV2Parties>({ method: 'ledgerApi', params: { ... } });\n * // ^ type = `PostV2Parties['ledgerApi']['result']`\n *\n * @param args\n * @returns\n */\n public async request<L extends LedgerTypes>(\n args: RequestArgs<L, 'ledgerApi'>\n ): Promise<L['ledgerApi']['result']> {\n console.log('Received request:', args)\n\n if (args.method === 'ledgerApi' && 'params' in args) {\n switch (args.params.requestMethod) {\n case 'get': {\n const params = this.getLedgerParams(args.params)\n\n return await this.client.getWithRetry(\n args.params.resource as GetEndpoint, // TODO: casting is necessary b/c of v3.3/v3.4 differences\n undefined,\n params\n )\n }\n case 'post': {\n const params = this.getLedgerParams(args.params)\n const body = 'body' in args.params ? args.params.body : {}\n\n return await this.client.postWithRetry(\n args.params.resource as PostEndpoint, // TODO: casting is necessary b/c of v3.3/v3.4 differences\n body as never, // TODO: need to fix client typing\n undefined,\n params\n )\n }\n // TODO: generalize LedgerClient to support any HTTP method\n case 'delete':\n case 'patch':\n default: {\n throw new Error(\n `Unsupported request method: ${args.params.requestMethod}`\n )\n }\n }\n } else {\n throw new Error(`Unsupported method: ${args.method}`)\n }\n }\n\n private getLedgerParams(params: object): {\n path?: Record<string, string>\n query?: Record<string, string>\n } {\n const extracted = {}\n\n if ('path' in params) {\n Object.assign(extracted, { path: params.path })\n }\n\n if ('query' in params) {\n Object.assign(extracted, { query: params.query })\n }\n\n return extracted\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canton-network/core-provider-ledger",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A Splice Provider implementation for direct ledger access.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@jest/globals": "^30.2.0",
|
|
29
|
-
"@swc/core": "^1.15.
|
|
29
|
+
"@swc/core": "^1.15.18",
|
|
30
30
|
"@swc/jest": "^0.2.39",
|
|
31
31
|
"@types/jest": "^30.0.0",
|
|
32
32
|
"jest": "^30.2.0",
|
|
@@ -36,10 +36,11 @@
|
|
|
36
36
|
"typescript": "^5.9.3"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@canton-network/core-ledger-client": "^0.
|
|
40
|
-
"@canton-network/core-ledger-client-types": "^0.
|
|
41
|
-
"@canton-network/core-splice-provider": "^0.
|
|
42
|
-
"@canton-network/core-types": "^0.
|
|
39
|
+
"@canton-network/core-ledger-client": "^0.30.0",
|
|
40
|
+
"@canton-network/core-ledger-client-types": "^0.23.0",
|
|
41
|
+
"@canton-network/core-splice-provider": "^0.27.0",
|
|
42
|
+
"@canton-network/core-types": "^0.21.0",
|
|
43
|
+
"@canton-network/core-wallet-auth": "^0.22.0",
|
|
43
44
|
"pino": "^10.3.1"
|
|
44
45
|
},
|
|
45
46
|
"files": [
|