@settlemint/dalp-cli 3.0.7-main.28535079625 → 3.0.7-main.28538365167

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 +354 -265
  2. package/package.json +1 -1
package/dist/dalp.js CHANGED
@@ -52098,9 +52098,9 @@ var ENTRIES_INDEX = {
52098
52098
  retryable: false,
52099
52099
  expectedClientError: true,
52100
52100
  public: {
52101
- message: "User does not have the required role to execute this operation.",
52102
- why: "The actor lacks at least one role required by the token or system contract.",
52103
- fix: "Grant the required role or retry with an authorized actor."
52101
+ message: "This action requires a role the acting wallet does not hold.",
52102
+ why: "The token or system contract restricts this action to the {{requiredRoles}} role, and the acting wallet was granted no matching role.",
52103
+ fix: "Ask an administrator to grant the {{requiredRoles}} role, then retry, or perform this action with a wallet that already holds it."
52104
52104
  },
52105
52105
  observability: {
52106
52106
  severity: "info",
@@ -52120,6 +52120,12 @@ var ENTRIES_INDEX = {
52120
52120
  authSensitivity: {
52121
52121
  existenceDisclosure: "public-safe",
52122
52122
  rationale: "The public response only reveals missing authorization, not protected resource existence."
52123
+ },
52124
+ ui: {
52125
+ surface: "inline",
52126
+ retry: "none",
52127
+ ariaLive: "assertive",
52128
+ toastMode: "title-and-why"
52123
52129
  }
52124
52130
  },
52125
52131
  "DALP-0007": {
@@ -93139,6 +93145,38 @@ var ENTRIES_INDEX = {
93139
93145
  owner: "dapi",
93140
93146
  orpcCode: "XVP_MIXED_CHAIN_SETTLEMENT"
93141
93147
  },
93148
+ "DALP-9166": {
93149
+ id: "DALP-9166",
93150
+ kind: "route",
93151
+ category: "permission",
93152
+ status: 403,
93153
+ retryable: false,
93154
+ expectedClientError: true,
93155
+ public: {
93156
+ message: "The wallet must be registered in the token identity registry before delegating voting power.",
93157
+ why: "Delegating voting power requires the acting wallet to hold an identity in the token's identity registry, and the selected wallet has no identity there.",
93158
+ fix: "Register the wallet's identity in the token identity registry, then retry the delegation."
93159
+ },
93160
+ observability: {
93161
+ severity: "info",
93162
+ otelEventName: "dapi.error",
93163
+ metricAttributeKey: "dapi.error.id",
93164
+ dimensions: [
93165
+ "error.id",
93166
+ "error.category",
93167
+ "surface",
93168
+ "route",
93169
+ "status_class",
93170
+ "retryable"
93171
+ ]
93172
+ },
93173
+ owner: "dapi",
93174
+ orpcCode: "USER_NOT_AUTHORIZED",
93175
+ authSensitivity: {
93176
+ existenceDisclosure: "public-safe",
93177
+ rationale: "The public response reveals only that the wallet is not registered for delegation, not any protected resource existence."
93178
+ }
93179
+ },
93142
93180
  "DALP-CHAIN-EMPTY-REVERT": {
93143
93181
  id: "DALP-CHAIN-EMPTY-REVERT",
93144
93182
  kind: "contract",
@@ -103543,6 +103581,9 @@ var DALP_ERROR_TYPED_FIELD_NAMES = {
103543
103581
  "DALP-9163": [],
103544
103582
  "DALP-9164": [],
103545
103583
  "DALP-9165": [],
103584
+ "DALP-9166": [
103585
+ "requiredRoles"
103586
+ ],
103546
103587
  "DALP-CHAIN-EMPTY-REVERT": [
103547
103588
  "args",
103548
103589
  "correlationId",
@@ -103620,7 +103661,7 @@ var DALP_ERROR_DATA_SCHEMA_BY_ID = {
103620
103661
  "DALP-0004": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
103621
103662
  "DALP-0005": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
103622
103663
  "DALP-0006": DALP_ORPC_ERROR_DATA_BASE_SCHEMA.extend({
103623
- requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())])
103664
+ requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.record(exports_external.string(), DALP_ORPC_JSON_VALUE_SCHEMA)])
103624
103665
  }).catchall(DALP_ORPC_JSON_VALUE_SCHEMA),
103625
103666
  "DALP-0007": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
103626
103667
  "DALP-0008": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
@@ -113623,6 +113664,9 @@ var DALP_ERROR_DATA_SCHEMA_BY_ID = {
113623
113664
  "DALP-9163": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
113624
113665
  "DALP-9164": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
113625
113666
  "DALP-9165": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA,
113667
+ "DALP-9166": DALP_ORPC_ERROR_DATA_BASE_SCHEMA.extend({
113668
+ requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.record(exports_external.string(), DALP_ORPC_JSON_VALUE_SCHEMA)])
113669
+ }).catchall(DALP_ORPC_JSON_VALUE_SCHEMA),
113626
113670
  "DALP-CHAIN-EMPTY-REVERT": DALP_ORPC_ERROR_DATA_BASE_SCHEMA.extend({
113627
113671
  args: exports_external.record(exports_external.string(), exports_external.string()),
113628
113672
  correlationId: exports_external.string(),
@@ -113919,6 +113963,259 @@ function readFromNestedRecord(value2, seen = new WeakSet) {
113919
113963
  function readDalpOrpcError(error51) {
113920
113964
  return readFromNestedRecord(error51);
113921
113965
  }
113966
+ var ethereumAddress = exports_external.string().meta({
113967
+ description: "A valid Ethereum address (42 characters, starting with 0x)",
113968
+ examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
113969
+ }).min(42, "Ethereum address must be at least 42 characters long").max(42, "Ethereum address must be at most 42 characters long").regex(/^0x[a-fA-F0-9]{40}$/, "Ethereum address must start with 0x followed by 40 hexadecimal characters").transform((value2, ctx) => {
113970
+ if (!isAddress(value2)) {
113971
+ ctx.addIssue({
113972
+ code: exports_external.ZodIssueCode.custom,
113973
+ message: "Invalid Ethereum address format or checksum"
113974
+ });
113975
+ return exports_external.NEVER;
113976
+ }
113977
+ return getAddress(value2);
113978
+ });
113979
+ var nonZeroEthereumAddress = ethereumAddress.refine((address) => address !== zeroAddress, "Fee recipient cannot be the zero address");
113980
+ var lowercaseEthereumAddress = ethereumAddress.transform((value2) => value2.toLowerCase());
113981
+ var AccountSchema = exports_external.object({
113982
+ id: ethereumAddress,
113983
+ isContract: exports_external.boolean().meta({ description: "Whether this address is a smart contract (true) or EOA (false)", examples: [true, false] })
113984
+ });
113985
+ var account = () => AccountSchema;
113986
+ var accountArray = () => exports_external.array(account()).meta({
113987
+ description: "Array of Account entities",
113988
+ examples: [[{ id: "0x71C7656EC7ab88b098defB751B7401B5f6d8976F", isContract: false }]]
113989
+ });
113990
+ var ethereumHex = exports_external.string().meta({
113991
+ description: "A valid Ethereum hex string (starting with 0x)",
113992
+ examples: ["0x1234abcd", "0x00", "0xdeadbeef"]
113993
+ }).min(2, "Hex string must be at least 2 characters long (0x)").refine(isHex, {
113994
+ message: "Invalid hex format - must start with '0x' followed by hexadecimal characters"
113995
+ }).transform((value2) => value2);
113996
+ var V1_FROZEN_SPEC_META_KEY = "x-dalp-v1-frozen-spec";
113997
+ function v1FrozenSpecMeta(directive) {
113998
+ return { [V1_FROZEN_SPEC_META_KEY]: directive };
113999
+ }
114000
+ function v1FrozenRequired(schema, directive = {}) {
114001
+ return schema.meta(v1FrozenSpecMeta({ required: true, ...directive }));
114002
+ }
114003
+ var roles = [
114004
+ "addonManager",
114005
+ "addonModule",
114006
+ "addonRegistryModule",
114007
+ "admin",
114008
+ "auditor",
114009
+ "claimPolicyManager",
114010
+ "claimIssuer",
114011
+ "complianceManager",
114012
+ "custodian",
114013
+ "emergency",
114014
+ "feedsManager",
114015
+ "fundsManager",
114016
+ "gasManager",
114017
+ "governance",
114018
+ "identityManager",
114019
+ "identityRegistryModule",
114020
+ "organisationIdentityManager",
114021
+ "saleAdmin",
114022
+ "supplyManagement",
114023
+ "systemManager",
114024
+ "systemModule",
114025
+ "tokenFactoryModule",
114026
+ "tokenFactoryRegistryModule",
114027
+ "tokenManager",
114028
+ "trustedIssuersMetaRegistryModule"
114029
+ ];
114030
+ var accessControlRoles = exports_external.object(Object.fromEntries(roles.map((role2) => [role2, exports_external.boolean().default(false)])));
114031
+ var accessControlRole = exports_external.enum(roles);
114032
+ var assetAccessControlRoles = [
114033
+ "admin",
114034
+ "custodian",
114035
+ "emergency",
114036
+ "fundsManager",
114037
+ "governance",
114038
+ "saleAdmin",
114039
+ "supplyManagement"
114040
+ ];
114041
+ var assetAccessControlRole = exports_external.enum(assetAccessControlRoles);
114042
+ var assetAccessControlRolesSchema = accessControlRoles.pick({
114043
+ admin: true,
114044
+ custodian: true,
114045
+ emergency: true,
114046
+ fundsManager: true,
114047
+ governance: true,
114048
+ saleAdmin: true,
114049
+ supplyManagement: true
114050
+ });
114051
+ var systemAccessControlRoles = [
114052
+ "admin",
114053
+ "auditor",
114054
+ "systemManager",
114055
+ "tokenManager",
114056
+ "complianceManager",
114057
+ "claimPolicyManager",
114058
+ "claimIssuer",
114059
+ "identityManager",
114060
+ "feedsManager",
114061
+ "gasManager"
114062
+ ];
114063
+ var systemAccessControlRole = exports_external.enum(systemAccessControlRoles);
114064
+ var systemAccessControlRolesV1 = [...systemAccessControlRoles, "addonManager"];
114065
+ var systemAccessControlRoleV1 = exports_external.enum(systemAccessControlRolesV1);
114066
+ var systemAccessControlRolesSchema = accessControlRoles.pick({
114067
+ addonManager: true,
114068
+ admin: true,
114069
+ auditor: true,
114070
+ systemManager: true,
114071
+ tokenManager: true,
114072
+ complianceManager: true,
114073
+ claimPolicyManager: true,
114074
+ claimIssuer: true,
114075
+ identityManager: true,
114076
+ feedsManager: true,
114077
+ gasManager: true
114078
+ });
114079
+ var roleAdminSchema = exports_external.object({
114080
+ id: ethereumHex.meta({
114081
+ description: "Role admin mapping identifier",
114082
+ examples: ["0x0102030405060708091011121314151617181920212223242526272829303132"]
114083
+ }),
114084
+ role: ethereumHex.meta({
114085
+ description: "Role identifier (bytes32)",
114086
+ examples: ["0x0000000000000000000000000000000000000000000000000000000000000001"]
114087
+ }),
114088
+ roleFieldName: accessControlRole.meta({
114089
+ description: "Role field name",
114090
+ examples: ["admin", "tokenManager", "complianceManager"]
114091
+ }),
114092
+ adminRole: ethereumHex.meta({
114093
+ description: "Admin role identifier (bytes32)",
114094
+ examples: ["0x0000000000000000000000000000000000000000000000000000000000000000"]
114095
+ }),
114096
+ adminFieldName: accessControlRole.meta({
114097
+ description: "Admin role field name",
114098
+ examples: ["admin", "systemManager"]
114099
+ })
114100
+ });
114101
+ var AccessControlSchema = exports_external.object({
114102
+ id: ethereumAddress.meta({
114103
+ description: "Access control contract address",
114104
+ examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
114105
+ }),
114106
+ addonManager: v1FrozenRequired(accountArray().default([]).meta({
114107
+ description: "Accounts with addon manager role. Frozen v1-compat role — always empty.",
114108
+ examples: [[]]
114109
+ }), { required: true }),
114110
+ addonModule: accountArray().meta({
114111
+ description: "Accounts with addon module role",
114112
+ examples: [[]]
114113
+ }),
114114
+ addonRegistryModule: accountArray().meta({
114115
+ description: "Accounts with addon registry module role",
114116
+ examples: [[]]
114117
+ }),
114118
+ admin: accountArray().meta({
114119
+ description: "Accounts with admin role",
114120
+ examples: [
114121
+ [
114122
+ {
114123
+ id: "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
114124
+ isContract: false
114125
+ }
114126
+ ]
114127
+ ]
114128
+ }),
114129
+ auditor: accountArray().meta({
114130
+ description: "Accounts with auditor role",
114131
+ examples: [[]]
114132
+ }),
114133
+ claimPolicyManager: accountArray().meta({
114134
+ description: "Accounts with claim policy manager role",
114135
+ examples: [[]]
114136
+ }),
114137
+ claimIssuer: accountArray().meta({
114138
+ description: "Accounts with claim issuer role",
114139
+ examples: [[]]
114140
+ }),
114141
+ complianceManager: accountArray().meta({
114142
+ description: "Accounts with compliance manager role",
114143
+ examples: [[]]
114144
+ }),
114145
+ custodian: accountArray().meta({
114146
+ description: "Accounts with custodian role",
114147
+ examples: [[]]
114148
+ }),
114149
+ emergency: accountArray().meta({
114150
+ description: "Accounts with emergency role",
114151
+ examples: [[]]
114152
+ }),
114153
+ feedsManager: accountArray().meta({
114154
+ description: "Accounts with feeds manager role",
114155
+ examples: [[]]
114156
+ }),
114157
+ fundsManager: accountArray().meta({
114158
+ description: "Accounts with funds manager role",
114159
+ examples: [[]]
114160
+ }),
114161
+ gasManager: accountArray().meta({
114162
+ description: "Accounts with gas manager role",
114163
+ examples: [[]]
114164
+ }),
114165
+ governance: accountArray().meta({
114166
+ description: "Accounts with governance role",
114167
+ examples: [[]]
114168
+ }),
114169
+ identityManager: accountArray().meta({
114170
+ description: "Accounts with identity manager role",
114171
+ examples: [[]]
114172
+ }),
114173
+ identityRegistryModule: accountArray().meta({
114174
+ description: "Accounts with identity registry module role",
114175
+ examples: [[]]
114176
+ }),
114177
+ organisationIdentityManager: accountArray().meta({
114178
+ description: "Accounts with organisation identity manager role",
114179
+ examples: [[]]
114180
+ }),
114181
+ saleAdmin: accountArray().meta({
114182
+ description: "Accounts with sale admin role",
114183
+ examples: [[]]
114184
+ }),
114185
+ supplyManagement: accountArray().meta({
114186
+ description: "Accounts with supply management role",
114187
+ examples: [[]]
114188
+ }),
114189
+ systemManager: accountArray().meta({
114190
+ description: "Accounts with system manager role",
114191
+ examples: [[]]
114192
+ }),
114193
+ systemModule: accountArray().meta({
114194
+ description: "Accounts with system module role",
114195
+ examples: [[]]
114196
+ }),
114197
+ tokenFactoryModule: accountArray().meta({
114198
+ description: "Accounts with token factory module role",
114199
+ examples: [[]]
114200
+ }),
114201
+ tokenFactoryRegistryModule: accountArray().meta({
114202
+ description: "Accounts with token factory registry module role",
114203
+ examples: [[]]
114204
+ }),
114205
+ tokenManager: accountArray().meta({
114206
+ description: "Accounts with token manager role",
114207
+ examples: [[]]
114208
+ }),
114209
+ trustedIssuersMetaRegistryModule: accountArray().meta({
114210
+ description: "Accounts with trusted issuers meta registry module role",
114211
+ examples: [[]]
114212
+ }),
114213
+ roleAdmins: exports_external.array(roleAdminSchema).meta({
114214
+ description: "Admin role mapping per access control role",
114215
+ examples: [[]]
114216
+ }).default([])
114217
+ });
114218
+ var accessControlSchema = () => AccessControlSchema;
113922
114219
  var RoleRequirementSchema = exports_external.lazy(() => exports_external.union([
113923
114220
  exports_external.string(),
113924
114221
  exports_external.object({
@@ -114173,21 +114470,6 @@ var CONFIGURABLE_FEATURES = new Set(addonRegistry.filter((a) => a.configurable &
114173
114470
  var INCOMPATIBLE_FEATURE_PAIRS = Object.freeze([
114174
114471
  ["transaction-fee", "transaction-fee-accounting"]
114175
114472
  ]);
114176
- var ethereumAddress = exports_external.string().meta({
114177
- description: "A valid Ethereum address (42 characters, starting with 0x)",
114178
- examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
114179
- }).min(42, "Ethereum address must be at least 42 characters long").max(42, "Ethereum address must be at most 42 characters long").regex(/^0x[a-fA-F0-9]{40}$/, "Ethereum address must start with 0x followed by 40 hexadecimal characters").transform((value2, ctx) => {
114180
- if (!isAddress(value2)) {
114181
- ctx.addIssue({
114182
- code: exports_external.ZodIssueCode.custom,
114183
- message: "Invalid Ethereum address format or checksum"
114184
- });
114185
- return exports_external.NEVER;
114186
- }
114187
- return getAddress(value2);
114188
- });
114189
- var nonZeroEthereumAddress = ethereumAddress.refine((address) => address !== zeroAddress, "Fee recipient cannot be the zero address");
114190
- var lowercaseEthereumAddress = ethereumAddress.transform((value2) => value2.toLowerCase());
114191
114473
  var TimestampSchema = exports_external.preprocess((value2) => {
114192
114474
  if (value2 instanceof Date) {
114193
114475
  return value2;
@@ -118775,7 +119057,7 @@ var CUSTOM_ERRORS = {
118775
119057
  },
118776
119058
  USER_NOT_AUTHORIZED: {
118777
119059
  status: 403,
118778
- message: "User does not have the required role to execute this operation.",
119060
+ message: "This action requires a role the acting wallet does not hold.",
118779
119061
  data: CUSTOM_ERROR_DATA_SCHEMAS.USER_NOT_AUTHORIZED
118780
119062
  },
118781
119063
  USER_NOT_FOUND: {
@@ -119789,13 +120071,6 @@ var FixedYieldScheduleCreateInputSchema = MutationInputSchema.extend({
119789
120071
  });
119790
120072
  }
119791
120073
  });
119792
- var V1_FROZEN_SPEC_META_KEY = "x-dalp-v1-frozen-spec";
119793
- function v1FrozenSpecMeta(directive) {
119794
- return { [V1_FROZEN_SPEC_META_KEY]: directive };
119795
- }
119796
- function v1FrozenRequired(schema, directive = {}) {
119797
- return schema.meta(v1FrozenSpecMeta({ required: true, ...directive }));
119798
- }
119799
120074
  var BigDecimalSchema = exports_external.union([
119800
120075
  exports_external.string(),
119801
120076
  exports_external.number(),
@@ -120210,15 +120485,6 @@ var XvpDecryptOutputSchema = exports_external.object({
120210
120485
  examples: ["0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12"]
120211
120486
  })
120212
120487
  });
120213
- var AccountSchema = exports_external.object({
120214
- id: ethereumAddress,
120215
- isContract: exports_external.boolean().meta({ description: "Whether this address is a smart contract (true) or EOA (false)", examples: [true, false] })
120216
- });
120217
- var account = () => AccountSchema;
120218
- var accountArray = () => exports_external.array(account()).meta({
120219
- description: "Array of Account entities",
120220
- examples: [[{ id: "0x71C7656EC7ab88b098defB751B7401B5f6d8976F", isContract: false }]]
120221
- });
120222
120488
  var SortableListSchema = exports_external.object({
120223
120489
  orderDirection: exports_external.enum(["asc", "desc"]).default("asc"),
120224
120490
  orderBy: exports_external.string().default("id")
@@ -120976,228 +121242,6 @@ var status = v1Contract.route({
120976
121242
  successDescription: "Recovery status retrieved successfully",
120977
121243
  tags: TAGS2
120978
121244
  }).input(RecoveryStatusInputSchema).output(RecoveryStatusOutputSchema);
120979
- var ethereumHex = exports_external.string().meta({
120980
- description: "A valid Ethereum hex string (starting with 0x)",
120981
- examples: ["0x1234abcd", "0x00", "0xdeadbeef"]
120982
- }).min(2, "Hex string must be at least 2 characters long (0x)").refine(isHex, {
120983
- message: "Invalid hex format - must start with '0x' followed by hexadecimal characters"
120984
- }).transform((value22) => value22);
120985
- var roles = [
120986
- "addonManager",
120987
- "addonModule",
120988
- "addonRegistryModule",
120989
- "admin",
120990
- "auditor",
120991
- "claimPolicyManager",
120992
- "claimIssuer",
120993
- "complianceManager",
120994
- "custodian",
120995
- "emergency",
120996
- "feedsManager",
120997
- "fundsManager",
120998
- "gasManager",
120999
- "governance",
121000
- "identityManager",
121001
- "identityRegistryModule",
121002
- "organisationIdentityManager",
121003
- "saleAdmin",
121004
- "supplyManagement",
121005
- "systemManager",
121006
- "systemModule",
121007
- "tokenFactoryModule",
121008
- "tokenFactoryRegistryModule",
121009
- "tokenManager",
121010
- "trustedIssuersMetaRegistryModule"
121011
- ];
121012
- var accessControlRoles = exports_external.object(Object.fromEntries(roles.map((role2) => [role2, exports_external.boolean().default(false)])));
121013
- var accessControlRole = exports_external.enum(roles);
121014
- var assetAccessControlRoles = [
121015
- "admin",
121016
- "custodian",
121017
- "emergency",
121018
- "fundsManager",
121019
- "governance",
121020
- "saleAdmin",
121021
- "supplyManagement"
121022
- ];
121023
- var assetAccessControlRole = exports_external.enum(assetAccessControlRoles);
121024
- var assetAccessControlRolesSchema = accessControlRoles.pick({
121025
- admin: true,
121026
- custodian: true,
121027
- emergency: true,
121028
- fundsManager: true,
121029
- governance: true,
121030
- saleAdmin: true,
121031
- supplyManagement: true
121032
- });
121033
- var systemAccessControlRoles = [
121034
- "admin",
121035
- "auditor",
121036
- "systemManager",
121037
- "tokenManager",
121038
- "complianceManager",
121039
- "claimPolicyManager",
121040
- "claimIssuer",
121041
- "identityManager",
121042
- "feedsManager",
121043
- "gasManager"
121044
- ];
121045
- var systemAccessControlRole = exports_external.enum(systemAccessControlRoles);
121046
- var systemAccessControlRolesV1 = [...systemAccessControlRoles, "addonManager"];
121047
- var systemAccessControlRoleV1 = exports_external.enum(systemAccessControlRolesV1);
121048
- var systemAccessControlRolesSchema = accessControlRoles.pick({
121049
- addonManager: true,
121050
- admin: true,
121051
- auditor: true,
121052
- systemManager: true,
121053
- tokenManager: true,
121054
- complianceManager: true,
121055
- claimPolicyManager: true,
121056
- claimIssuer: true,
121057
- identityManager: true,
121058
- feedsManager: true,
121059
- gasManager: true
121060
- });
121061
- var roleAdminSchema = exports_external.object({
121062
- id: ethereumHex.meta({
121063
- description: "Role admin mapping identifier",
121064
- examples: ["0x0102030405060708091011121314151617181920212223242526272829303132"]
121065
- }),
121066
- role: ethereumHex.meta({
121067
- description: "Role identifier (bytes32)",
121068
- examples: ["0x0000000000000000000000000000000000000000000000000000000000000001"]
121069
- }),
121070
- roleFieldName: accessControlRole.meta({
121071
- description: "Role field name",
121072
- examples: ["admin", "tokenManager", "complianceManager"]
121073
- }),
121074
- adminRole: ethereumHex.meta({
121075
- description: "Admin role identifier (bytes32)",
121076
- examples: ["0x0000000000000000000000000000000000000000000000000000000000000000"]
121077
- }),
121078
- adminFieldName: accessControlRole.meta({
121079
- description: "Admin role field name",
121080
- examples: ["admin", "systemManager"]
121081
- })
121082
- });
121083
- var AccessControlSchema = exports_external.object({
121084
- id: ethereumAddress.meta({
121085
- description: "Access control contract address",
121086
- examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
121087
- }),
121088
- addonManager: v1FrozenRequired(accountArray().default([]).meta({
121089
- description: "Accounts with addon manager role. Frozen v1-compat role — always empty.",
121090
- examples: [[]]
121091
- }), { required: true }),
121092
- addonModule: accountArray().meta({
121093
- description: "Accounts with addon module role",
121094
- examples: [[]]
121095
- }),
121096
- addonRegistryModule: accountArray().meta({
121097
- description: "Accounts with addon registry module role",
121098
- examples: [[]]
121099
- }),
121100
- admin: accountArray().meta({
121101
- description: "Accounts with admin role",
121102
- examples: [
121103
- [
121104
- {
121105
- id: "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
121106
- isContract: false
121107
- }
121108
- ]
121109
- ]
121110
- }),
121111
- auditor: accountArray().meta({
121112
- description: "Accounts with auditor role",
121113
- examples: [[]]
121114
- }),
121115
- claimPolicyManager: accountArray().meta({
121116
- description: "Accounts with claim policy manager role",
121117
- examples: [[]]
121118
- }),
121119
- claimIssuer: accountArray().meta({
121120
- description: "Accounts with claim issuer role",
121121
- examples: [[]]
121122
- }),
121123
- complianceManager: accountArray().meta({
121124
- description: "Accounts with compliance manager role",
121125
- examples: [[]]
121126
- }),
121127
- custodian: accountArray().meta({
121128
- description: "Accounts with custodian role",
121129
- examples: [[]]
121130
- }),
121131
- emergency: accountArray().meta({
121132
- description: "Accounts with emergency role",
121133
- examples: [[]]
121134
- }),
121135
- feedsManager: accountArray().meta({
121136
- description: "Accounts with feeds manager role",
121137
- examples: [[]]
121138
- }),
121139
- fundsManager: accountArray().meta({
121140
- description: "Accounts with funds manager role",
121141
- examples: [[]]
121142
- }),
121143
- gasManager: accountArray().meta({
121144
- description: "Accounts with gas manager role",
121145
- examples: [[]]
121146
- }),
121147
- governance: accountArray().meta({
121148
- description: "Accounts with governance role",
121149
- examples: [[]]
121150
- }),
121151
- identityManager: accountArray().meta({
121152
- description: "Accounts with identity manager role",
121153
- examples: [[]]
121154
- }),
121155
- identityRegistryModule: accountArray().meta({
121156
- description: "Accounts with identity registry module role",
121157
- examples: [[]]
121158
- }),
121159
- organisationIdentityManager: accountArray().meta({
121160
- description: "Accounts with organisation identity manager role",
121161
- examples: [[]]
121162
- }),
121163
- saleAdmin: accountArray().meta({
121164
- description: "Accounts with sale admin role",
121165
- examples: [[]]
121166
- }),
121167
- supplyManagement: accountArray().meta({
121168
- description: "Accounts with supply management role",
121169
- examples: [[]]
121170
- }),
121171
- systemManager: accountArray().meta({
121172
- description: "Accounts with system manager role",
121173
- examples: [[]]
121174
- }),
121175
- systemModule: accountArray().meta({
121176
- description: "Accounts with system module role",
121177
- examples: [[]]
121178
- }),
121179
- tokenFactoryModule: accountArray().meta({
121180
- description: "Accounts with token factory module role",
121181
- examples: [[]]
121182
- }),
121183
- tokenFactoryRegistryModule: accountArray().meta({
121184
- description: "Accounts with token factory registry module role",
121185
- examples: [[]]
121186
- }),
121187
- tokenManager: accountArray().meta({
121188
- description: "Accounts with token manager role",
121189
- examples: [[]]
121190
- }),
121191
- trustedIssuersMetaRegistryModule: accountArray().meta({
121192
- description: "Accounts with trusted issuers meta registry module role",
121193
- examples: [[]]
121194
- }),
121195
- roleAdmins: exports_external.array(roleAdminSchema).meta({
121196
- description: "Admin role mapping per access control role",
121197
- examples: [[]]
121198
- }).default([])
121199
- });
121200
- var accessControlSchema = () => AccessControlSchema;
121201
121245
  var AssetExtensionEnum = {
121202
121246
  ACCESS_MANAGED: "ACCESS_MANAGED",
121203
121247
  BOND: "BOND",
@@ -144884,7 +144928,7 @@ function normalizeDalpBaseUrl(url2) {
144884
144928
  }
144885
144929
  var package_default = {
144886
144930
  name: "@settlemint/dalp-sdk",
144887
- version: "3.0.7-main.28535079625",
144931
+ version: "3.0.7-main.28538365167",
144888
144932
  private: false,
144889
144933
  description: "Fully typed SDK for the DALP tokenization platform API",
144890
144934
  homepage: "https://settlemint.com",
@@ -146111,7 +146155,8 @@ var DAPI_ROUTE_ERROR_IDS = {
146111
146155
  "DALP-9162": "DALP-9162",
146112
146156
  "DALP-9163": "DALP-9163",
146113
146157
  "DALP-9164": "DALP-9164",
146114
- "DALP-9165": "DALP-9165"
146158
+ "DALP-9165": "DALP-9165",
146159
+ "DALP-9166": "DALP-9166"
146115
146160
  };
146116
146161
  var DAPI_ERROR_IDS = {
146117
146162
  ...DAPI_ROUTE_ERROR_IDS,
@@ -146134,7 +146179,7 @@ var failedStateSet = new Set(FAILED_TRANSACTION_STATES);
146134
146179
  // package.json
146135
146180
  var package_default2 = {
146136
146181
  name: "@settlemint/dalp-cli",
146137
- version: "3.0.7-main.28535079625",
146182
+ version: "3.0.7-main.28538365167",
146138
146183
  private: false,
146139
146184
  description: "CLI for the Digital Asset Lifecycle Platform — manage tokens, identities, compliance, and more from the command line.",
146140
146185
  homepage: "https://settlemint.com",
@@ -147592,9 +147637,9 @@ var ENTRIES_INDEX2 = {
147592
147637
  retryable: false,
147593
147638
  expectedClientError: true,
147594
147639
  public: {
147595
- message: "User does not have the required role to execute this operation.",
147596
- why: "The actor lacks at least one role required by the token or system contract.",
147597
- fix: "Grant the required role or retry with an authorized actor."
147640
+ message: "This action requires a role the acting wallet does not hold.",
147641
+ why: "The token or system contract restricts this action to the {{requiredRoles}} role, and the acting wallet was granted no matching role.",
147642
+ fix: "Ask an administrator to grant the {{requiredRoles}} role, then retry, or perform this action with a wallet that already holds it."
147598
147643
  },
147599
147644
  observability: {
147600
147645
  severity: "info",
@@ -147614,6 +147659,12 @@ var ENTRIES_INDEX2 = {
147614
147659
  authSensitivity: {
147615
147660
  existenceDisclosure: "public-safe",
147616
147661
  rationale: "The public response only reveals missing authorization, not protected resource existence."
147662
+ },
147663
+ ui: {
147664
+ surface: "inline",
147665
+ retry: "none",
147666
+ ariaLive: "assertive",
147667
+ toastMode: "title-and-why"
147617
147668
  }
147618
147669
  },
147619
147670
  "DALP-0007": {
@@ -188633,6 +188684,38 @@ var ENTRIES_INDEX2 = {
188633
188684
  owner: "dapi",
188634
188685
  orpcCode: "XVP_MIXED_CHAIN_SETTLEMENT"
188635
188686
  },
188687
+ "DALP-9166": {
188688
+ id: "DALP-9166",
188689
+ kind: "route",
188690
+ category: "permission",
188691
+ status: 403,
188692
+ retryable: false,
188693
+ expectedClientError: true,
188694
+ public: {
188695
+ message: "The wallet must be registered in the token identity registry before delegating voting power.",
188696
+ why: "Delegating voting power requires the acting wallet to hold an identity in the token's identity registry, and the selected wallet has no identity there.",
188697
+ fix: "Register the wallet's identity in the token identity registry, then retry the delegation."
188698
+ },
188699
+ observability: {
188700
+ severity: "info",
188701
+ otelEventName: "dapi.error",
188702
+ metricAttributeKey: "dapi.error.id",
188703
+ dimensions: [
188704
+ "error.id",
188705
+ "error.category",
188706
+ "surface",
188707
+ "route",
188708
+ "status_class",
188709
+ "retryable"
188710
+ ]
188711
+ },
188712
+ owner: "dapi",
188713
+ orpcCode: "USER_NOT_AUTHORIZED",
188714
+ authSensitivity: {
188715
+ existenceDisclosure: "public-safe",
188716
+ rationale: "The public response reveals only that the wallet is not registered for delegation, not any protected resource existence."
188717
+ }
188718
+ },
188636
188719
  "DALP-CHAIN-EMPTY-REVERT": {
188637
188720
  id: "DALP-CHAIN-EMPTY-REVERT",
188638
188721
  kind: "contract",
@@ -199054,6 +199137,9 @@ var DALP_ERROR_TYPED_FIELD_NAMES2 = {
199054
199137
  "DALP-9163": [],
199055
199138
  "DALP-9164": [],
199056
199139
  "DALP-9165": [],
199140
+ "DALP-9166": [
199141
+ "requiredRoles"
199142
+ ],
199057
199143
  "DALP-CHAIN-EMPTY-REVERT": [
199058
199144
  "args",
199059
199145
  "correlationId",
@@ -199133,7 +199219,7 @@ var DALP_ERROR_DATA_SCHEMA_BY_ID2 = {
199133
199219
  "DALP-0004": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
199134
199220
  "DALP-0005": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
199135
199221
  "DALP-0006": DALP_ORPC_ERROR_DATA_BASE_SCHEMA2.extend({
199136
- requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())])
199222
+ requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.record(exports_external.string(), DALP_ORPC_JSON_VALUE_SCHEMA2)])
199137
199223
  }).catchall(DALP_ORPC_JSON_VALUE_SCHEMA2),
199138
199224
  "DALP-0007": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
199139
199225
  "DALP-0008": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
@@ -209136,6 +209222,9 @@ var DALP_ERROR_DATA_SCHEMA_BY_ID2 = {
209136
209222
  "DALP-9163": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
209137
209223
  "DALP-9164": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
209138
209224
  "DALP-9165": DALP_ORPC_ERROR_DATA_WIRE_SCHEMA2,
209225
+ "DALP-9166": DALP_ORPC_ERROR_DATA_BASE_SCHEMA2.extend({
209226
+ requiredRoles: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.record(exports_external.string(), DALP_ORPC_JSON_VALUE_SCHEMA2)])
209227
+ }).catchall(DALP_ORPC_JSON_VALUE_SCHEMA2),
209139
209228
  "DALP-CHAIN-EMPTY-REVERT": DALP_ORPC_ERROR_DATA_BASE_SCHEMA2.extend({
209140
209229
  args: exports_external.record(exports_external.string(), exports_external.string()),
209141
209230
  correlationId: exports_external.string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@settlemint/dalp-cli",
3
- "version": "3.0.7-main.28535079625",
3
+ "version": "3.0.7-main.28538365167",
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",