@settlemint/dalp-cli 3.0.7-main.28606164993 → 3.0.7-main.28622819856

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.
Files changed (2) hide show
  1. package/dist/dalp.js +123 -5
  2. package/package.json +1 -1
package/dist/dalp.js CHANGED
@@ -133875,6 +133875,7 @@ var AssumableParticipantSchema = exports_external.object({
133875
133875
  accountCount: exports_external.number().int().nonnegative()
133876
133876
  });
133877
133877
  var ASSUMABLE_PARTICIPANTS_COLLECTION_FIELDS = {
133878
+ id: textField({ sortable: false, defaultOperator: "eq" }),
133878
133879
  kind: enumField(AssumableParticipantKindSchema.options, {
133879
133880
  defaultOperator: "eq",
133880
133881
  facetable: false
@@ -133882,8 +133883,104 @@ var ASSUMABLE_PARTICIPANTS_COLLECTION_FIELDS = {
133882
133883
  displayName: textField()
133883
133884
  };
133884
133885
  var AssumableParticipantsCollectionInputSchema = createCollectionInputSchema(ASSUMABLE_PARTICIPANTS_COLLECTION_FIELDS, { defaultSort: "displayName" });
133885
- var AssumableParticipantsV2ListInputSchema = AssumableParticipantsCollectionInputSchema;
133886
+ var AssumableParticipantsV2ListInputSchema = AssumableParticipantsCollectionInputSchema.superRefine((value22, ctx) => {
133887
+ for (const filter of value22.filters) {
133888
+ if (filter.id === "id" && filter.operator !== "eq") {
133889
+ ctx.addIssue({
133890
+ code: exports_external.ZodIssueCode.custom,
133891
+ message: "The `id` filter supports exact match (eq) only.",
133892
+ path: ["filter", "id"]
133893
+ });
133894
+ }
133895
+ }
133896
+ });
133886
133897
  var AssumableParticipantsV2ListOutputSchema = createPaginatedResponse(AssumableParticipantSchema);
133898
+ var HoldingWalletTypeSchema = exports_external.enum(["eoa", "smart"]).meta({
133899
+ description: "Account type holding this balance: `smart` (smart account) or `eoa` (key account)."
133900
+ });
133901
+ var HoldingTransferVerdictSchema = exports_external.enum(["transferable", "restricted"]).meta({
133902
+ description: "Transfer verdict evaluated against the holding participant's identity, independent of the viewer. `restricted` gates the Transfer action."
133903
+ });
133904
+ var HoldingAssetClassSchema = exports_external.object({
133905
+ id: exports_external.string().meta({ description: "Asset class definition id.", examples: ["cls_equity"] }),
133906
+ slug: exports_external.string().meta({ description: "Asset class slug used for grouping.", examples: ["equity", "cash"] }),
133907
+ name: exports_external.string().meta({ description: "Human-readable asset class name.", examples: ["Equity", "Cash"] })
133908
+ }).meta({ description: "Asset class the token belongs to." });
133909
+ var HoldingTokenSchema = exports_external.object({
133910
+ id: ethereumAddress.meta({
133911
+ description: "The token contract address.",
133912
+ examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
133913
+ }),
133914
+ name: exports_external.string().meta({ description: "The token name.", examples: ["Acme Series A"] }),
133915
+ symbol: assetSymbol().meta({ description: "The token symbol.", examples: ["ACME", "USDC"] }),
133916
+ type: assetType().or(exports_external.string().min(1)).meta({
133917
+ description: "Asset type — known system types or custom template slugs. Drives the asset detail route.",
133918
+ examples: ["equity", "bond", "custom-deposit"]
133919
+ }),
133920
+ isExternal: exports_external.boolean().meta({
133921
+ description: "True when the token is registered through the ExternalTokenRegistry rather than deployed by a system factory.",
133922
+ examples: [false, true]
133923
+ }),
133924
+ decimals: decimals().meta({ description: "The number of decimal places.", examples: [18, 6] })
133925
+ });
133926
+ var ParticipantHoldingV2ItemSchema = exports_external.object({
133927
+ id: exports_external.string().meta({
133928
+ description: "Stable row identifier — the token address and wallet address joined.",
133929
+ examples: ["0x71c7…976f:0x8ba1…ba72"]
133930
+ }),
133931
+ token: HoldingTokenSchema.meta({ description: "The token details.", examples: [] }),
133932
+ assetClass: HoldingAssetClassSchema.nullable().meta({
133933
+ description: "The token's asset class. Null for external tokens (no template) — rendered under External tokens.",
133934
+ examples: [null]
133935
+ }),
133936
+ walletAddress: ethereumAddress.meta({
133937
+ description: "The participant wallet address that holds this balance.",
133938
+ examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
133939
+ }),
133940
+ walletType: HoldingWalletTypeSchema,
133941
+ balance: bigDecimal().meta({ description: "The total balance amount (scaled by decimals).", examples: ["250"] }),
133942
+ frozen: bigDecimal().meta({ description: "The frozen balance amount.", examples: ["0", "50"] }),
133943
+ available: bigDecimal().meta({
133944
+ description: "The available balance amount (total minus frozen; zero when the whole address is frozen).",
133945
+ examples: ["250", "200"]
133946
+ }),
133947
+ valueInBaseCurrency: bigDecimal().nullable().meta({
133948
+ description: "Available balance multiplied by the token's resolved base-currency price. Null when no FX/price path is available.",
133949
+ examples: ["5.00", null]
133950
+ }),
133951
+ priceInBaseCurrencyReliable: exports_external.boolean().meta({
133952
+ description: "Whether the FX chain used to populate the base-currency price was fully reliable. False when no price is available or a hop fell back to a stale rate.",
133953
+ examples: [true, false]
133954
+ }),
133955
+ transferVerdict: HoldingTransferVerdictSchema,
133956
+ restrictionReason: exports_external.string().nullable().meta({
133957
+ description: "Reason a row is restricted (e.g. `frozen`, `identity pending`). Null for transferable rows; the UI renders a generic reason when a restricted row carries no specific reason.",
133958
+ examples: ["frozen", "identity pending", null]
133959
+ })
133960
+ });
133961
+ var ParticipantHoldingsParamsSchema = exports_external.object({
133962
+ participantId: exports_external.string().min(1).meta({
133963
+ description: "Identifier of the participant whose holdings are being listed."
133964
+ })
133965
+ });
133966
+ var PARTICIPANT_HOLDINGS_COLLECTION_FIELDS = {
133967
+ tokenAddress: addressField(),
133968
+ tokenName: textField(),
133969
+ tokenSymbol: textField(),
133970
+ walletAddress: addressField(),
133971
+ walletType: enumField(["eoa", "smart"], { sortable: false }),
133972
+ balance: bigintField({ filterable: false })
133973
+ };
133974
+ var ParticipantHoldingsV2ListInputSchema = createCollectionInputSchema(PARTICIPANT_HOLDINGS_COLLECTION_FIELDS, {
133975
+ defaultSort: "-balance",
133976
+ globalSearch: true
133977
+ });
133978
+ var ParticipantHoldingsV2ListOutputSchema = createPaginatedResponse(ParticipantHoldingV2ItemSchema, {
133979
+ balancesAsOf: timestamp().nullable().meta({
133980
+ description: "The most recent indexed `updatedAt` across the returned holdings — the freshness stamp shown on the tab. Null when the participant holds nothing.",
133981
+ examples: ["2026-06-24T14:32:00.000Z", null]
133982
+ })
133983
+ });
133887
133984
  var ParticipantAddressPurposeSchema = exports_external.enum(["transfer", "identity", "participant"]);
133888
133985
  var ParticipantKindSchema = exports_external.enum([
133889
133986
  "person",
@@ -133978,6 +134075,13 @@ var activityStats = v2Contract.route({
133978
134075
  successDescription: "Activity statistics retrieved successfully.",
133979
134076
  tags: [V2_TAG.participants]
133980
134077
  }).input(v2Input.paramsQuery(ParticipantActivityParamsSchema, ActivityStatsInputSchema.omit({ accountAddress: true }))).output(createSingleResponse(ActivityStatsOutputSchema));
134078
+ var holdings = v2Contract.route({
134079
+ method: "GET",
134080
+ path: "/participants/{participantId}/holdings",
134081
+ description: "List a participant's real indexed holdings (one row per token × wallet) with asset class, available/frozen balances, base-currency value, a per-row transfer verdict, and a `balancesAsOf` freshness stamp. Powers the participant detail Holdings tab.",
134082
+ successDescription: "Paginated array of participant holdings with asset class, balances, value, and transfer verdict; `meta.balancesAsOf` carries the freshness stamp.",
134083
+ tags: [V2_TAG.participants]
134084
+ }).input(v2Input.paramsQuery(ParticipantHoldingsParamsSchema, ParticipantHoldingsV2ListInputSchema)).output(ParticipantHoldingsV2ListOutputSchema);
133981
134085
  var assumableList = v2Contract.route({
133982
134086
  method: "GET",
133983
134087
  path: "/participants/assumable",
@@ -133990,6 +134094,7 @@ var participantsV2Contract = {
133990
134094
  assumableList,
133991
134095
  addressKinds,
133992
134096
  smartWalletRead,
134097
+ holdings,
133993
134098
  activityList,
133994
134099
  activityStats,
133995
134100
  complianceEligibility: complianceEligibilityV2Contract
@@ -140550,7 +140655,7 @@ var events2 = v2Contract.route({
140550
140655
  examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
140551
140656
  })
140552
140657
  }), TokenEventsV2InputSchema)).output(TokenEventsV2OutputSchema);
140553
- var holdings = v2Contract.route({
140658
+ var holdings2 = v2Contract.route({
140554
140659
  method: "GET",
140555
140660
  path: "/tokens/{tokenAddress}/holdings",
140556
140661
  description: "List every asset the specified token holds a balance in (its treasury). Supports JSON:API pagination, sorting, filtering, and faceted counts.",
@@ -140797,7 +140902,7 @@ var tokenV2ReadsContract = {
140797
140902
  holders,
140798
140903
  actions,
140799
140904
  events: events2,
140800
- holdings,
140905
+ holdings: holdings2,
140801
140906
  compliance,
140802
140907
  conversionFeatureProbe,
140803
140908
  aumFeeAccruedEstimate,
@@ -143343,7 +143448,7 @@ function normalizeDalpBaseUrl(url2) {
143343
143448
  }
143344
143449
  var package_default = {
143345
143450
  name: "@settlemint/dalp-sdk",
143346
- version: "3.0.7-main.28606164993",
143451
+ version: "3.0.7-main.28622819856",
143347
143452
  private: false,
143348
143453
  description: "Fully typed SDK for the DALP tokenization platform API",
143349
143454
  homepage: "https://settlemint.com",
@@ -144594,7 +144699,7 @@ var failedStateSet = new Set(FAILED_TRANSACTION_STATES);
144594
144699
  // package.json
144595
144700
  var package_default2 = {
144596
144701
  name: "@settlemint/dalp-cli",
144597
- version: "3.0.7-main.28606164993",
144702
+ version: "3.0.7-main.28622819856",
144598
144703
  private: false,
144599
144704
  description: "CLI for the Digital Asset Lifecycle Platform — manage tokens, identities, compliance, and more from the command line.",
144600
144705
  homepage: "https://settlemint.com",
@@ -145637,6 +145742,19 @@ participantsCommand.command("activity-stats", {
145637
145742
  });
145638
145743
  }
145639
145744
  });
145745
+ participantsCommand.command("holdings", {
145746
+ description: "List a participant's indexed holdings (token × wallet) with asset class, value, and transfer verdict",
145747
+ args: exports_external.object({ participantId: exports_external.string().describe("Participant ID") }),
145748
+ options: paginationOptionsSchema.extend({
145749
+ walletType: exports_external.enum(["eoa", "smart"]).optional().describe("Filter by account type (eoa = key account, smart)")
145750
+ }),
145751
+ run(c) {
145752
+ return c.var.orpc.participants.holdings({
145753
+ params: { participantId: c.args.participantId },
145754
+ query: toCanonicalQuery(c.options, c.options.walletType ? { walletType: c.options.walletType } : undefined)
145755
+ });
145756
+ }
145757
+ });
145640
145758
  participantsCommand.command("compliance-eligibility", {
145641
145759
  description: "Evaluate a participant's global compliance eligibility verdict",
145642
145760
  args: exports_external.object({ participantId: exports_external.string().describe("Participant ID") }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@settlemint/dalp-cli",
3
- "version": "3.0.7-main.28606164993",
3
+ "version": "3.0.7-main.28622819856",
4
4
  "private": false,
5
5
  "description": "CLI for the Digital Asset Lifecycle Platform — manage tokens, identities, compliance, and more from the command line.",
6
6
  "homepage": "https://settlemint.com",