@fairmint/canton-node-sdk
Version:
Canton Node SDK
138 lines • 4.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApiFeaturesSchema = exports.OffsetCheckpointFeaturesSchema = exports.DurationSchema = exports.PartyManagementFeaturesSchema = exports.UserManagementFeaturesSchema = exports.ExperimentalFeaturesSchema = exports.UpdateMaskSchema = exports.PrefetchContractKeySchema = exports.MinLedgerTimeRelSchema = exports.EmptyDeduplicationSchema = exports.DeduplicationOffsetSchema = exports.DeduplicationDurationSchema = exports.FilterSchema = exports.TraceContextSchema = void 0;
const zod_1 = require("zod");
/**
* Trace context for distributed tracing.
*/
exports.TraceContextSchema = zod_1.z.object({
/** Trace ID for the request. */
traceId: zod_1.z.string().optional(),
/** Span ID for the current operation. */
spanId: zod_1.z.string().optional(),
/** Parent span ID (optional). */
parentSpanId: zod_1.z.string().optional(),
/** Additional trace metadata. */
metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
});
/**
* Filter for active contracts and events.
*/
exports.FilterSchema = zod_1.z.object({
/** Template or interface filters. */
filtersByParty: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
/** List of template or interface filters for this party. */
cumulative: zod_1.z.array(zod_1.z.string()),
}).strict()).optional(),
/** If true, include all available fields. */
verbose: zod_1.z.boolean().optional(),
});
/**
* Deduplication duration.
*/
exports.DeduplicationDurationSchema = zod_1.z.object({
/** Duration in seconds. */
seconds: zod_1.z.number(),
});
/**
* Deduplication offset.
*/
exports.DeduplicationOffsetSchema = zod_1.z.object({
/** Offset value. */
offset: zod_1.z.number(),
});
/**
* Empty deduplication period.
*/
exports.EmptyDeduplicationSchema = zod_1.z.object({});
/**
* Minimum ledger time relative to submission.
*/
exports.MinLedgerTimeRelSchema = zod_1.z.object({
/** Relative time in seconds. */
seconds: zod_1.z.number(),
});
/**
* Contract key for prefetching.
*/
exports.PrefetchContractKeySchema = zod_1.z.object({
/** Template ID. */
templateId: zod_1.z.string(),
/** Contract key. */
contractKey: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
});
/**
* Update mask for partial updates.
*/
exports.UpdateMaskSchema = zod_1.z.object({
/** List of field paths to update. */
paths: zod_1.z.array(zod_1.z.string()),
});
/**
* Experimental features configuration.
*/
exports.ExperimentalFeaturesSchema = zod_1.z.object({
/** Static time support. */
staticTime: zod_1.z.object({
/** Whether static time is supported. */
supported: zod_1.z.boolean(),
}),
/** Command inspection service support. */
commandInspectionService: zod_1.z.object({
/** Whether command inspection service is supported. */
supported: zod_1.z.boolean(),
}),
});
/**
* User management features configuration.
*/
exports.UserManagementFeaturesSchema = zod_1.z.object({
/** Whether user management is supported. */
supported: zod_1.z.boolean(),
/** Maximum rights per user. */
maxRightsPerUser: zod_1.z.number(),
/** Maximum users page size. */
maxUsersPageSize: zod_1.z.number(),
});
/**
* Party management features configuration.
*/
exports.PartyManagementFeaturesSchema = zod_1.z.object({
/** Maximum parties page size. */
maxPartiesPageSize: zod_1.z.number(),
});
/**
* Duration with seconds and nanoseconds.
*/
exports.DurationSchema = zod_1.z.object({
/** Duration in seconds. */
seconds: zod_1.z.number(),
/** Duration in nanoseconds. */
nanos: zod_1.z.number(),
/** Unknown fields. */
unknownFields: zod_1.z.object({
/** Fields object. */
fields: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
}),
});
/**
* Offset checkpoint features configuration.
*/
exports.OffsetCheckpointFeaturesSchema = zod_1.z.object({
/** Maximum offset checkpoint emission delay. */
maxOffsetCheckpointEmissionDelay: exports.DurationSchema,
});
/**
* API features supported by the endpoint.
*/
exports.ApiFeaturesSchema = zod_1.z.object({
/** Experimental features. */
experimental: exports.ExperimentalFeaturesSchema,
/** User management features. */
userManagement: exports.UserManagementFeaturesSchema,
/** Party management features. */
partyManagement: exports.PartyManagementFeaturesSchema,
/** Offset checkpoint features. */
offsetCheckpoint: exports.OffsetCheckpointFeaturesSchema,
});
//# sourceMappingURL=common.js.map