@settlemint/dalp-cli 2.1.7-main.25956926218 → 2.1.7-main.25958450915
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/dalp.js +325 -30
- package/package.json +1 -1
package/dist/dalp.js
CHANGED
|
@@ -64161,7 +64161,7 @@ var addonRegistry = [
|
|
|
64161
64161
|
contractTypes: ["TokenSaleFactory"],
|
|
64162
64162
|
hidden: false,
|
|
64163
64163
|
configurable: false,
|
|
64164
|
-
|
|
64164
|
+
featurePrefix: true
|
|
64165
64165
|
},
|
|
64166
64166
|
{
|
|
64167
64167
|
id: "vault",
|
|
@@ -64178,7 +64178,7 @@ var addonRegistry = [
|
|
|
64178
64178
|
contractTypes: ["HistoricalBalancesFeatureUpgradeableFactory"],
|
|
64179
64179
|
hidden: false,
|
|
64180
64180
|
configurable: false,
|
|
64181
|
-
|
|
64181
|
+
featurePrefix: true
|
|
64182
64182
|
},
|
|
64183
64183
|
{
|
|
64184
64184
|
id: "maturity-redemption-feature-factory",
|
|
@@ -64187,7 +64187,7 @@ var addonRegistry = [
|
|
|
64187
64187
|
contractTypes: ["MaturityRedemptionFeatureFactory"],
|
|
64188
64188
|
hidden: false,
|
|
64189
64189
|
configurable: true,
|
|
64190
|
-
|
|
64190
|
+
featurePrefix: true
|
|
64191
64191
|
},
|
|
64192
64192
|
{
|
|
64193
64193
|
id: "transaction-fee-feature-factory",
|
|
@@ -64196,7 +64196,7 @@ var addonRegistry = [
|
|
|
64196
64196
|
contractTypes: ["TransactionFeeFeatureFactory"],
|
|
64197
64197
|
hidden: false,
|
|
64198
64198
|
configurable: true,
|
|
64199
|
-
|
|
64199
|
+
featurePrefix: true
|
|
64200
64200
|
},
|
|
64201
64201
|
{
|
|
64202
64202
|
id: "transaction-fee-accounting-feature-factory",
|
|
@@ -64205,7 +64205,7 @@ var addonRegistry = [
|
|
|
64205
64205
|
contractTypes: ["TransactionFeeAccountingFeatureFactory"],
|
|
64206
64206
|
hidden: false,
|
|
64207
64207
|
configurable: true,
|
|
64208
|
-
|
|
64208
|
+
featurePrefix: true
|
|
64209
64209
|
},
|
|
64210
64210
|
{
|
|
64211
64211
|
id: "voting-power-feature-factory",
|
|
@@ -64214,7 +64214,7 @@ var addonRegistry = [
|
|
|
64214
64214
|
contractTypes: ["VotingPowerFeatureUpgradeableFactory"],
|
|
64215
64215
|
hidden: false,
|
|
64216
64216
|
configurable: false,
|
|
64217
|
-
|
|
64217
|
+
featurePrefix: true
|
|
64218
64218
|
},
|
|
64219
64219
|
{
|
|
64220
64220
|
id: "external-transaction-fee-feature-factory",
|
|
@@ -64223,7 +64223,7 @@ var addonRegistry = [
|
|
|
64223
64223
|
contractTypes: ["ExternalTransactionFeeFeatureFactory"],
|
|
64224
64224
|
hidden: false,
|
|
64225
64225
|
configurable: true,
|
|
64226
|
-
|
|
64226
|
+
featurePrefix: true
|
|
64227
64227
|
},
|
|
64228
64228
|
{
|
|
64229
64229
|
id: "fixed-treasury-yield-feature-factory",
|
|
@@ -64232,7 +64232,7 @@ var addonRegistry = [
|
|
|
64232
64232
|
contractTypes: ["FixedTreasuryYieldFeatureFactory"],
|
|
64233
64233
|
hidden: false,
|
|
64234
64234
|
configurable: true,
|
|
64235
|
-
|
|
64235
|
+
featurePrefix: true
|
|
64236
64236
|
},
|
|
64237
64237
|
{
|
|
64238
64238
|
id: "aum-fee-feature-factory",
|
|
@@ -64241,7 +64241,7 @@ var addonRegistry = [
|
|
|
64241
64241
|
contractTypes: ["AUMFeeFeatureFactory"],
|
|
64242
64242
|
hidden: false,
|
|
64243
64243
|
configurable: true,
|
|
64244
|
-
|
|
64244
|
+
featurePrefix: true
|
|
64245
64245
|
},
|
|
64246
64246
|
{
|
|
64247
64247
|
id: "conversion-feature-factory",
|
|
@@ -64250,7 +64250,7 @@ var addonRegistry = [
|
|
|
64250
64250
|
contractTypes: ["ConversionFeatureFactory"],
|
|
64251
64251
|
hidden: false,
|
|
64252
64252
|
configurable: true,
|
|
64253
|
-
|
|
64253
|
+
featurePrefix: true
|
|
64254
64254
|
},
|
|
64255
64255
|
{
|
|
64256
64256
|
id: "conversion-minter-feature-factory",
|
|
@@ -64260,7 +64260,7 @@ var addonRegistry = [
|
|
|
64260
64260
|
hidden: false,
|
|
64261
64261
|
configurable: false,
|
|
64262
64262
|
dependsOn: ["conversion"],
|
|
64263
|
-
|
|
64263
|
+
featurePrefix: true
|
|
64264
64264
|
},
|
|
64265
64265
|
{
|
|
64266
64266
|
id: "permit-feature-factory",
|
|
@@ -64269,7 +64269,7 @@ var addonRegistry = [
|
|
|
64269
64269
|
contractTypes: ["PermitFeatureFactory"],
|
|
64270
64270
|
hidden: false,
|
|
64271
64271
|
configurable: false,
|
|
64272
|
-
|
|
64272
|
+
featurePrefix: true
|
|
64273
64273
|
},
|
|
64274
64274
|
{
|
|
64275
64275
|
id: "scalar-feed-aggregator-adapter-factory",
|
|
@@ -64278,7 +64278,7 @@ var addonRegistry = [
|
|
|
64278
64278
|
contractTypes: ["ScalarFeedAggregatorAdapterFactory"],
|
|
64279
64279
|
hidden: false,
|
|
64280
64280
|
configurable: false,
|
|
64281
|
-
|
|
64281
|
+
featurePrefix: true
|
|
64282
64282
|
},
|
|
64283
64283
|
{
|
|
64284
64284
|
id: "issuer-signed-scalar-feed",
|
|
@@ -64287,7 +64287,7 @@ var addonRegistry = [
|
|
|
64287
64287
|
contractTypes: ["IssuerSignedScalarFeedFactory"],
|
|
64288
64288
|
hidden: false,
|
|
64289
64289
|
configurable: false,
|
|
64290
|
-
|
|
64290
|
+
featurePrefix: true
|
|
64291
64291
|
},
|
|
64292
64292
|
{
|
|
64293
64293
|
id: "paymaster-signer",
|
|
@@ -64296,7 +64296,7 @@ var addonRegistry = [
|
|
|
64296
64296
|
contractTypes: ["PaymasterSigner"],
|
|
64297
64297
|
hidden: false,
|
|
64298
64298
|
configurable: false,
|
|
64299
|
-
|
|
64299
|
+
featurePrefix: true
|
|
64300
64300
|
},
|
|
64301
64301
|
{
|
|
64302
64302
|
id: "price-resolver",
|
|
@@ -68090,6 +68090,21 @@ var DAPI_ROUTE_ERROR_ENTRIES = [
|
|
|
68090
68090
|
expectedClientError: true
|
|
68091
68091
|
})
|
|
68092
68092
|
},
|
|
68093
|
+
{
|
|
68094
|
+
code: "SETTINGS_ASSET_TEMPLATE_FEATURES_INCOMPATIBLE",
|
|
68095
|
+
definition: dapiError({
|
|
68096
|
+
category: "domain",
|
|
68097
|
+
status: 409,
|
|
68098
|
+
message: "Template requiredFeatures has mutually-exclusive features enabled together: `transaction-fee` and `transaction-fee-accounting`. Remove one feature from each pair before publishing.",
|
|
68099
|
+
why: "Mutually-exclusive token features bind to the same on-chain or accounting path and would either double-account the same transfer or contradict each other. The registry models these pairs so the publish path can reject them before a token is created from the template.",
|
|
68100
|
+
fix: "Remove one feature from each conflicting pair in `requiredFeatures`, then retry the publish or update request.",
|
|
68101
|
+
retryable: false,
|
|
68102
|
+
expectedClientError: true,
|
|
68103
|
+
data: exports_external2.object({
|
|
68104
|
+
conflictingPairs: exports_external2.array(exports_external2.tuple([tokenFeatureIdSchema, tokenFeatureIdSchema]))
|
|
68105
|
+
})
|
|
68106
|
+
})
|
|
68107
|
+
},
|
|
68093
68108
|
{
|
|
68094
68109
|
code: "SETTINGS_COMPLIANCE_FAILED_TO_CREATE_TEMPLATE",
|
|
68095
68110
|
definition: dapiError({
|
|
@@ -75753,6 +75768,14 @@ var TokenSchema = exports_external2.object({
|
|
|
75753
75768
|
description: "Whether the user can execute the delegate action",
|
|
75754
75769
|
examples: [true, false]
|
|
75755
75770
|
}),
|
|
75771
|
+
delegateBySig: exports_external2.boolean().meta({
|
|
75772
|
+
description: "Whether the user can execute the delegateBySig action",
|
|
75773
|
+
examples: [true, false]
|
|
75774
|
+
}),
|
|
75775
|
+
permit: exports_external2.boolean().meta({
|
|
75776
|
+
description: "Whether the user can execute the permit action",
|
|
75777
|
+
examples: [true, false]
|
|
75778
|
+
}),
|
|
75756
75779
|
publishTrigger: exports_external2.boolean().meta({
|
|
75757
75780
|
description: "Whether the user can execute the publishTrigger action",
|
|
75758
75781
|
examples: [true, false]
|
|
@@ -76996,9 +77019,9 @@ var stats = v1Contract.route({
|
|
|
76996
77019
|
var addonTypes = addonRegistry.map((a) => a.id);
|
|
76997
77020
|
var addonCategories = ["distribution", "exchange", "custody", "income", "data"];
|
|
76998
77021
|
var addonFactoryTypeIds = [...addonTypes, "unknown"];
|
|
76999
|
-
var
|
|
77000
|
-
const
|
|
77001
|
-
return [
|
|
77022
|
+
var FEATURE_PREFIX_ADDON_TYPE_ALIAS_MAP = new Map(addonRegistry.filter((a) => a.featurePrefix === true).map((a) => {
|
|
77023
|
+
const featureNamespaceName = a.id.endsWith("-feature-factory") ? `${a.id.replace("-feature-factory", "")}__experimental__-feature-factory` : `${a.id}__experimental__`;
|
|
77024
|
+
return [featureNamespaceName, a.id];
|
|
77002
77025
|
}));
|
|
77003
77026
|
var V1_ADDON_TYPE_ALIASES = Object.fromEntries(addonRegistry.flatMap((a) => (a.legacyAliases ?? []).map((alias) => [alias, a.id])));
|
|
77004
77027
|
var AddonTypeSchema = exports_external2.enum(addonTypes).meta({
|
|
@@ -88976,6 +88999,9 @@ var TokenConversionMinterTargetInputSchema = exports_external2.object({
|
|
|
88976
88999
|
var TokenConversionMinterMutationInputSchema = TokenMutationInputSchema.extend({
|
|
88977
89000
|
tokenAddress: conversionMinterTargetTokenAddress
|
|
88978
89001
|
});
|
|
89002
|
+
var futureBlocktimeOrZero = () => blocktime().refine((seconds) => seconds === "0" || Number(seconds) > Math.floor(Date.now() / 1000), {
|
|
89003
|
+
message: "Blocktime must be in the future"
|
|
89004
|
+
});
|
|
88979
89005
|
var TokenPublishTriggerInputSchema = TokenMutationInputSchema.extend({
|
|
88980
89006
|
triggerId: ethereumHash.meta({
|
|
88981
89007
|
description: "Unique trigger identifier as bytes32 hex",
|
|
@@ -88989,7 +89015,7 @@ var TokenPublishTriggerInputSchema = TokenMutationInputSchema.extend({
|
|
|
88989
89015
|
description: "Price per share in WAD format",
|
|
88990
89016
|
examples: ["1000000000000000000"]
|
|
88991
89017
|
}),
|
|
88992
|
-
expiresAt:
|
|
89018
|
+
expiresAt: futureBlocktimeOrZero().meta({
|
|
88993
89019
|
description: "Expiration timestamp",
|
|
88994
89020
|
examples: ["1700000000"]
|
|
88995
89021
|
}),
|
|
@@ -89009,7 +89035,7 @@ var TokenSetConversionWindowInputSchema = TokenMutationInputSchema.extend({
|
|
|
89009
89035
|
description: "Window start timestamp",
|
|
89010
89036
|
examples: ["1700000000"]
|
|
89011
89037
|
}),
|
|
89012
|
-
end:
|
|
89038
|
+
end: futureBlocktimeOrZero().meta({
|
|
89013
89039
|
description: "Window end timestamp",
|
|
89014
89040
|
examples: ["1700086400"]
|
|
89015
89041
|
})
|
|
@@ -89156,12 +89182,74 @@ var TokenSetFeeExemptionInputSchema = TokenMutationInputSchema.extend({
|
|
|
89156
89182
|
examples: [true, false]
|
|
89157
89183
|
})
|
|
89158
89184
|
});
|
|
89185
|
+
var MAX_UINT2562 = (1n << 256n) - 1n;
|
|
89186
|
+
var bytes32Hex = exports_external2.string().regex(/^0x[\da-fA-F]{64}$/, "Must be a 66-character hex string (0x + 64 hex chars)").transform((v) => v);
|
|
89187
|
+
var uint256 = apiIntegerBigInt.refine((value3) => value3 >= 0n && value3 <= MAX_UINT2562, {
|
|
89188
|
+
message: "Value must fit within uint256"
|
|
89189
|
+
});
|
|
89159
89190
|
var TokenDelegateInputSchema = TokenMutationInputSchema.extend({
|
|
89160
89191
|
delegatee: ethereumAddress.meta({
|
|
89161
89192
|
description: "The address to delegate voting power to",
|
|
89162
89193
|
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
89163
89194
|
})
|
|
89164
89195
|
});
|
|
89196
|
+
var TokenDelegateBySigInputSchema = TokenDelegateInputSchema.extend({
|
|
89197
|
+
nonce: uint256.meta({
|
|
89198
|
+
description: "Current nonce for the signing account",
|
|
89199
|
+
examples: ["0"]
|
|
89200
|
+
}),
|
|
89201
|
+
expiry: uint256.meta({
|
|
89202
|
+
description: "Signature expiry timestamp as a Unix time in seconds",
|
|
89203
|
+
examples: ["1767225600"]
|
|
89204
|
+
}),
|
|
89205
|
+
v: exports_external2.number().int().refine((value3) => value3 === 27 || value3 === 28, { message: "v must be 27 or 28" }).meta({
|
|
89206
|
+
description: "ECDSA recovery id",
|
|
89207
|
+
examples: [27]
|
|
89208
|
+
}),
|
|
89209
|
+
r: bytes32Hex.meta({
|
|
89210
|
+
description: "ECDSA signature r value",
|
|
89211
|
+
examples: ["0x71c7656ec7ab88b098defb751b7401b5f6d8976f71c7656ec7ab88b098defb75"]
|
|
89212
|
+
}),
|
|
89213
|
+
s: bytes32Hex.meta({
|
|
89214
|
+
description: "ECDSA signature s value",
|
|
89215
|
+
examples: ["0x71c7656ec7ab88b098defb751b7401b5f6d8976f71c7656ec7ab88b098defb75"]
|
|
89216
|
+
})
|
|
89217
|
+
});
|
|
89218
|
+
var MAX_UINT2563 = (1n << 256n) - 1n;
|
|
89219
|
+
var bytes32Hex2 = exports_external2.string().regex(/^0x[\da-fA-F]{64}$/, "Must be a 66-character hex string (0x + 64 hex chars)").transform((v) => v);
|
|
89220
|
+
var uint2562 = apiIntegerBigInt.refine((value3) => value3 >= 0n && value3 <= MAX_UINT2563, {
|
|
89221
|
+
message: "Value must fit within uint256"
|
|
89222
|
+
});
|
|
89223
|
+
var TokenPermitInputSchema = TokenMutationInputSchema.extend({
|
|
89224
|
+
owner: ethereumAddress.meta({
|
|
89225
|
+
description: "The token holder that signed the permit.",
|
|
89226
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
89227
|
+
}),
|
|
89228
|
+
spender: ethereumAddress.meta({
|
|
89229
|
+
description: "The address approved to spend the holder's tokens.",
|
|
89230
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
89231
|
+
}),
|
|
89232
|
+
value: uint2562.meta({
|
|
89233
|
+
description: "Approved token amount in the token's smallest units.",
|
|
89234
|
+
examples: ["1000000000000000000"]
|
|
89235
|
+
}),
|
|
89236
|
+
deadline: uint2562.meta({
|
|
89237
|
+
description: "Signature deadline timestamp as a Unix time in seconds.",
|
|
89238
|
+
examples: ["1767225600"]
|
|
89239
|
+
}),
|
|
89240
|
+
v: exports_external2.number().int().refine((value3) => value3 === 27 || value3 === 28, { message: "v must be 27 or 28" }).meta({
|
|
89241
|
+
description: "ECDSA recovery id.",
|
|
89242
|
+
examples: [27]
|
|
89243
|
+
}),
|
|
89244
|
+
r: bytes32Hex2.meta({
|
|
89245
|
+
description: "ECDSA signature r value.",
|
|
89246
|
+
examples: ["0x71c7656ec7ab88b098defb751b7401b5f6d8976f71c7656ec7ab88b098defb75"]
|
|
89247
|
+
}),
|
|
89248
|
+
s: bytes32Hex2.meta({
|
|
89249
|
+
description: "ECDSA signature s value.",
|
|
89250
|
+
examples: ["0x71c7656ec7ab88b098defb751b7401b5f6d8976f71c7656ec7ab88b098defb75"]
|
|
89251
|
+
})
|
|
89252
|
+
});
|
|
89165
89253
|
var TokenClaimYieldInputSchema = TokenMutationInputSchema.extend({});
|
|
89166
89254
|
var TokenSetYieldTreasuryInputSchema = TokenMutationInputSchema.extend({
|
|
89167
89255
|
treasury: ethereumAddress.meta({
|
|
@@ -89181,13 +89269,13 @@ var TokenFeatureApproveYieldAllowanceInputSchema = TokenMutationInputSchema.exte
|
|
|
89181
89269
|
examples: ["1000000000000000000"]
|
|
89182
89270
|
})
|
|
89183
89271
|
});
|
|
89184
|
-
var
|
|
89272
|
+
var MAX_UINT2564 = (1n << 256n) - 1n;
|
|
89185
89273
|
var TokenFeatureFixedTreasuryYieldCreateBaseSchema = TokenMutationInputSchema.extend({
|
|
89186
89274
|
denominationAsset: ethereumAddress.refine((v) => v !== zeroAddress, "denominationAsset must not be the zero address").meta({
|
|
89187
89275
|
description: "ERC20 address whose decimals back the yield payouts.",
|
|
89188
89276
|
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
89189
89277
|
}),
|
|
89190
|
-
basisPerUnit: apiIntegerBigInt.refine((value3) => value3 > 0n && value3 <=
|
|
89278
|
+
basisPerUnit: apiIntegerBigInt.refine((value3) => value3 > 0n && value3 <= MAX_UINT2564, {
|
|
89191
89279
|
message: "basisPerUnit must be > 0 and fit within uint256"
|
|
89192
89280
|
}).meta({
|
|
89193
89281
|
description: "The basis (in denomination-asset base units) per one token unit used to size yield accrual.",
|
|
@@ -89819,6 +89907,20 @@ var delegate = v2Contract.route({
|
|
|
89819
89907
|
successDescription: "Voting power delegated successfully.",
|
|
89820
89908
|
tags: [V2_TAG.token]
|
|
89821
89909
|
}).meta({ contractErrors: [...COMMON_CONTRACT_ERRORS] }).input(v2Input.paramsBody(TokenReadInputSchema, TokenDelegateInputSchema.omit({ tokenAddress: true }))).output(mutationOutput);
|
|
89910
|
+
var delegateBySig = v2Contract.route({
|
|
89911
|
+
method: "POST",
|
|
89912
|
+
path: "/tokens/{tokenAddress}/voting-power/delegations/by-signature",
|
|
89913
|
+
description: "Relay a signed voting-power delegation.",
|
|
89914
|
+
successDescription: "Voting power delegation relayed successfully.",
|
|
89915
|
+
tags: [V2_TAG.token]
|
|
89916
|
+
}).meta({ contractErrors: [...COMMON_CONTRACT_ERRORS] }).input(v2Input.paramsBody(TokenReadInputSchema, TokenDelegateBySigInputSchema.omit({ tokenAddress: true }))).output(mutationOutput);
|
|
89917
|
+
var permit = v2Contract.route({
|
|
89918
|
+
method: "POST",
|
|
89919
|
+
path: "/tokens/{tokenAddress}/permits",
|
|
89920
|
+
description: "Relay a signed EIP-2612 permit approval through the transaction queue.",
|
|
89921
|
+
successDescription: "Permit approval relayed successfully.",
|
|
89922
|
+
tags: [V2_TAG.token]
|
|
89923
|
+
}).meta({ contractErrors: [...COMMON_CONTRACT_ERRORS, "DALP-9026", "DALP-9027"] }).input(v2Input.paramsBody(TokenReadInputSchema, TokenPermitInputSchema.omit({ tokenAddress: true }))).output(mutationOutput);
|
|
89822
89924
|
var publishTrigger = v2Contract.route({
|
|
89823
89925
|
method: "POST",
|
|
89824
89926
|
path: "/tokens/{tokenAddress}/conversion/triggers",
|
|
@@ -89940,6 +90042,8 @@ var tokenV2MutationsContract = {
|
|
|
89940
90042
|
reconcileFees,
|
|
89941
90043
|
setFeeExemption,
|
|
89942
90044
|
delegate,
|
|
90045
|
+
delegateBySig,
|
|
90046
|
+
permit,
|
|
89943
90047
|
publishTrigger,
|
|
89944
90048
|
disableTrigger,
|
|
89945
90049
|
setConversionWindow,
|
|
@@ -90082,12 +90186,7 @@ var TokenFeatureFixedTreasuryYieldSchema = exports_external2.object({
|
|
|
90082
90186
|
examples: [[]]
|
|
90083
90187
|
})
|
|
90084
90188
|
}).nullable();
|
|
90085
|
-
var TokenFeatureVotingPowerSchema = exports_external2.object({
|
|
90086
|
-
enabledAt: timestamp().meta({
|
|
90087
|
-
description: "When voting power was enabled",
|
|
90088
|
-
examples: ["2024-11-14T22:13:20Z"]
|
|
90089
|
-
})
|
|
90090
|
-
}).nullable();
|
|
90189
|
+
var TokenFeatureVotingPowerSchema = exports_external2.object({}).nullable();
|
|
90091
90190
|
var TokenFeatureExternalTransactionFeeSchema = exports_external2.object({
|
|
90092
90191
|
feeToken: ethereumAddress.meta({
|
|
90093
90192
|
description: "ERC-20 token used to pay fees",
|
|
@@ -90175,6 +90274,26 @@ var TokenFeatureConversionMinterSchema = exports_external2.object({
|
|
|
90175
90274
|
examples: ["50000.00"]
|
|
90176
90275
|
})
|
|
90177
90276
|
}).nullable();
|
|
90277
|
+
var TokenFeaturePermitSchema = exports_external2.object({
|
|
90278
|
+
typeId: exports_external2.literal("permit").meta({
|
|
90279
|
+
description: "Permit feature type identifier",
|
|
90280
|
+
examples: ["permit"]
|
|
90281
|
+
}),
|
|
90282
|
+
featureFactory: exports_external2.object({
|
|
90283
|
+
typeId: exports_external2.string().meta({
|
|
90284
|
+
description: "Permit feature factory type identifier",
|
|
90285
|
+
examples: ["permit-feature-factory"]
|
|
90286
|
+
}),
|
|
90287
|
+
name: exports_external2.string().meta({
|
|
90288
|
+
description: "Human-readable name of the permit feature factory",
|
|
90289
|
+
examples: ["Permit Feature Factory"]
|
|
90290
|
+
})
|
|
90291
|
+
}),
|
|
90292
|
+
attachedAt: timestamp().meta({
|
|
90293
|
+
description: "When the permit feature was attached",
|
|
90294
|
+
examples: ["2024-11-14T22:13:20Z"]
|
|
90295
|
+
})
|
|
90296
|
+
}).nullable();
|
|
90178
90297
|
var TokenFeatureSchema = exports_external2.object({
|
|
90179
90298
|
featureAddress: ethereumAddress.meta({
|
|
90180
90299
|
description: "Feature contract address",
|
|
@@ -90245,6 +90364,10 @@ var TokenFeatureSchema = exports_external2.object({
|
|
|
90245
90364
|
conversionMinter: TokenFeatureConversionMinterSchema.meta({
|
|
90246
90365
|
description: "Conversion minter configuration, null if not applicable",
|
|
90247
90366
|
examples: [null]
|
|
90367
|
+
}),
|
|
90368
|
+
permit: TokenFeaturePermitSchema.meta({
|
|
90369
|
+
description: "Permit metadata, null if not applicable",
|
|
90370
|
+
examples: [null]
|
|
90248
90371
|
})
|
|
90249
90372
|
});
|
|
90250
90373
|
var TokenFeaturesResponseSchema = exports_external2.object({
|
|
@@ -90298,6 +90421,26 @@ var TokenAumFeeAccruedEstimateResponseSchema = exports_external2.object({
|
|
|
90298
90421
|
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90299
90422
|
})
|
|
90300
90423
|
}).nullable();
|
|
90424
|
+
var TokenConversionHolderStateInputSchema = TokenReadInputSchema.extend({
|
|
90425
|
+
holderAddress: ethereumAddress.meta({
|
|
90426
|
+
description: "The holder wallet address to query on the attached conversion feature",
|
|
90427
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90428
|
+
})
|
|
90429
|
+
});
|
|
90430
|
+
var TokenConversionHolderStateResponseSchema = exports_external2.object({
|
|
90431
|
+
availablePrincipal: bigDecimal().meta({
|
|
90432
|
+
description: "Current principal available for this holder to convert (token units, scaled by token decimals).",
|
|
90433
|
+
examples: ["100.50"]
|
|
90434
|
+
}),
|
|
90435
|
+
totalConverted: bigDecimal().meta({
|
|
90436
|
+
description: "Total principal already converted by this holder (token units, scaled by token decimals).",
|
|
90437
|
+
examples: ["25.00"]
|
|
90438
|
+
}),
|
|
90439
|
+
featureAddress: ethereumAddress.meta({
|
|
90440
|
+
description: "Conversion feature contract address that was read.",
|
|
90441
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90442
|
+
})
|
|
90443
|
+
}).nullable();
|
|
90301
90444
|
var TokenMetadataInputSchema = TokenReadInputSchema;
|
|
90302
90445
|
var TokenMetadataEntrySchema = exports_external2.object({
|
|
90303
90446
|
key: exports_external2.string().meta({
|
|
@@ -90340,6 +90483,34 @@ var TokenMetadataResponseSchema = exports_external2.object({
|
|
|
90340
90483
|
})
|
|
90341
90484
|
}).nullable()
|
|
90342
90485
|
});
|
|
90486
|
+
var TokenPermitInfoInputSchema = TokenReadInputSchema.extend({
|
|
90487
|
+
owner: ethereumAddress.optional().meta({
|
|
90488
|
+
description: "Optional holder address whose permit nonce should be read.",
|
|
90489
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90490
|
+
})
|
|
90491
|
+
});
|
|
90492
|
+
var TokenPermitInfoResponseSchema = exports_external2.object({
|
|
90493
|
+
featureAddress: ethereumAddress.meta({
|
|
90494
|
+
description: "Permit feature contract address that was read.",
|
|
90495
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90496
|
+
}),
|
|
90497
|
+
owner: ethereumAddress.nullable().meta({
|
|
90498
|
+
description: "Owner address whose nonce was read, or null when no owner was requested.",
|
|
90499
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90500
|
+
}),
|
|
90501
|
+
nonce: apiBigInt.nullable().meta({
|
|
90502
|
+
description: "Current permit nonce for the requested owner, or null when no owner was requested.",
|
|
90503
|
+
examples: ["0"]
|
|
90504
|
+
}),
|
|
90505
|
+
domainSeparator: ethereumHash.meta({
|
|
90506
|
+
description: "EIP-712 domain separator reported by the permit feature.",
|
|
90507
|
+
examples: ["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]
|
|
90508
|
+
}),
|
|
90509
|
+
permitTypeHash: ethereumHash.meta({
|
|
90510
|
+
description: "EIP-712 Permit struct typehash used by the feature.",
|
|
90511
|
+
examples: ["0x6e71edae12b1b97f4d1f60370fef10178563ef29188d1232f565f79b8f6aad8c"]
|
|
90512
|
+
})
|
|
90513
|
+
}).nullable();
|
|
90343
90514
|
var ConversionTriggerSchema = exports_external2.object({
|
|
90344
90515
|
triggerId: exports_external2.string().meta({
|
|
90345
90516
|
description: "On-chain trigger ID (bytes32 hex)",
|
|
@@ -90417,6 +90588,41 @@ var ConversionTriggersV2InputSchema = createCollectionInputSchema(CONVERSION_TRI
|
|
|
90417
90588
|
globalSearch: false
|
|
90418
90589
|
});
|
|
90419
90590
|
var ConversionTriggersV2OutputSchema = createPaginatedResponse(ConversionTriggerSchema);
|
|
90591
|
+
var CONVERSION_RECORD_STATUS_OPTIONS = ["Initiated", "Minted"];
|
|
90592
|
+
var CONVERSION_RECORDS_COLLECTION_FIELDS = {
|
|
90593
|
+
holder: addressField({ defaultOperator: "iLike" }),
|
|
90594
|
+
status: enumField(CONVERSION_RECORD_STATUS_OPTIONS, { facetable: true }),
|
|
90595
|
+
initiatedAt: dateField(),
|
|
90596
|
+
finalizedAt: dateField(),
|
|
90597
|
+
isForced: booleanField({ facetable: true })
|
|
90598
|
+
};
|
|
90599
|
+
var ConversionRecordsV2InputSchema = createCollectionInputSchema(CONVERSION_RECORDS_COLLECTION_FIELDS, {
|
|
90600
|
+
defaultSort: "-initiatedAt",
|
|
90601
|
+
globalSearch: false
|
|
90602
|
+
});
|
|
90603
|
+
var ConversionRecordV2ItemSchema = exports_external2.object({
|
|
90604
|
+
conversionId: exports_external2.string(),
|
|
90605
|
+
triggerId: exports_external2.string(),
|
|
90606
|
+
holder: ethereumAddress,
|
|
90607
|
+
principalConverted: bigDecimal(),
|
|
90608
|
+
principalConvertedExact: apiBigInt,
|
|
90609
|
+
interestConvertedWad: bigDecimal(),
|
|
90610
|
+
interestConvertedWadExact: apiBigInt,
|
|
90611
|
+
targetReceived: bigDecimal(),
|
|
90612
|
+
targetReceivedExact: apiBigInt,
|
|
90613
|
+
effectivePriceUsedWad: bigDecimal(),
|
|
90614
|
+
effectivePriceUsedWadExact: apiBigInt,
|
|
90615
|
+
status: exports_external2.enum(CONVERSION_RECORD_STATUS_OPTIONS),
|
|
90616
|
+
initiatedAt: timestamp(),
|
|
90617
|
+
finalizedAt: timestamp().nullable(),
|
|
90618
|
+
isForced: exports_external2.boolean(),
|
|
90619
|
+
forcedBy: ethereumAddress.nullable(),
|
|
90620
|
+
issuedRecipient: ethereumAddress.nullable(),
|
|
90621
|
+
amountMinted: bigDecimal().nullable(),
|
|
90622
|
+
amountMintedExact: apiBigInt.nullable(),
|
|
90623
|
+
issuedAt: timestamp().nullable()
|
|
90624
|
+
});
|
|
90625
|
+
var ConversionRecordsV2OutputSchema = createPaginatedResponse(ConversionRecordV2ItemSchema);
|
|
90420
90626
|
var DenominationAssetV2ItemSchema = DenominationAssetListSchema.element;
|
|
90421
90627
|
var DENOMINATION_ASSETS_COLLECTION_FIELDS = {
|
|
90422
90628
|
assetType: enumField(assetTypes, { defaultOperator: "eq", facetable: true }),
|
|
@@ -90677,6 +90883,55 @@ var TokenHistoricalBalanceV2ItemSchema = exports_external2.object({
|
|
|
90677
90883
|
logIndex: exports_external2.number().int().nonnegative()
|
|
90678
90884
|
});
|
|
90679
90885
|
var TokenHistoricalBalancesV2OutputSchema = createPaginatedResponse(TokenHistoricalBalanceV2ItemSchema);
|
|
90886
|
+
var strictHistoricalLookup = exports_external2.union([exports_external2.boolean(), exports_external2.enum(["true", "false"]).transform((value3) => value3 === "true")]).optional().default(true);
|
|
90887
|
+
var historicalTimepoint = apiBigInt.refine((value3) => value3 >= 0n, {
|
|
90888
|
+
message: "timepoint must be greater than or equal to 0"
|
|
90889
|
+
});
|
|
90890
|
+
var TokenHistoricalBalanceAtBlockV2InputQuerySchema = exports_external2.object({
|
|
90891
|
+
account: ethereumAddress.meta({
|
|
90892
|
+
description: "Holder account to read from the historical-balances feature",
|
|
90893
|
+
examples: ["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]
|
|
90894
|
+
}),
|
|
90895
|
+
timepoint: historicalTimepoint.meta({
|
|
90896
|
+
description: "Historical feature clock timepoint, expressed as Unix seconds for timestamp-mode tokens",
|
|
90897
|
+
examples: ["1767225600"]
|
|
90898
|
+
}),
|
|
90899
|
+
strict: strictHistoricalLookup.meta({
|
|
90900
|
+
description: "Use the strict feature read variants, which reject timepoints before tracking was enabled",
|
|
90901
|
+
examples: [true]
|
|
90902
|
+
})
|
|
90903
|
+
});
|
|
90904
|
+
var TokenHistoricalBalanceAtBlockV2DataSchema = exports_external2.object({
|
|
90905
|
+
account: ethereumAddress,
|
|
90906
|
+
balance: bigDecimal(),
|
|
90907
|
+
balanceExact: apiBigInt,
|
|
90908
|
+
totalSupply: bigDecimal(),
|
|
90909
|
+
totalSupplyExact: apiBigInt,
|
|
90910
|
+
timepoint: apiBigInt,
|
|
90911
|
+
featureAddress: ethereumAddress
|
|
90912
|
+
});
|
|
90913
|
+
var TokenHistoricalBalanceAtBlockV2OutputSchema = createSingleResponse(TokenHistoricalBalanceAtBlockV2DataSchema.nullable());
|
|
90914
|
+
var TOKEN_HISTORICAL_HOLDERS_AT_BLOCK_COLLECTION_FIELDS = {
|
|
90915
|
+
accountAddress: textField({ sortable: true, defaultOperator: "iLike" }),
|
|
90916
|
+
balance: bigintField({ filterable: false }),
|
|
90917
|
+
lastUpdatedAt: dateField({ filterable: false })
|
|
90918
|
+
};
|
|
90919
|
+
var TokenHistoricalHoldersAtBlockV2InputSchema = exports_external2.object({
|
|
90920
|
+
sortBy: exports_external2.enum(["accountAddress", "balance", "lastUpdatedAt"]).default("balance"),
|
|
90921
|
+
sortDirection: exports_external2.enum(["asc", "desc"]).default("desc"),
|
|
90922
|
+
offset: exports_external2.coerce.number().int().nonnegative().default(0),
|
|
90923
|
+
limit: exports_external2.coerce.number().int().positive().max(200).default(50),
|
|
90924
|
+
filters: exports_external2.array(DataTableFilterSchema).default([]),
|
|
90925
|
+
timepoint: historicalTimepoint.meta({
|
|
90926
|
+
description: "Historical feature clock timepoint, expressed as Unix seconds for timestamp-mode tokens",
|
|
90927
|
+
examples: ["1767225600"]
|
|
90928
|
+
}),
|
|
90929
|
+
strict: strictHistoricalLookup.meta({
|
|
90930
|
+
description: "Use the strict feature read variant, which rejects timepoints before tracking was enabled",
|
|
90931
|
+
examples: [true]
|
|
90932
|
+
})
|
|
90933
|
+
});
|
|
90934
|
+
var TokenHistoricalHoldersAtBlockV2OutputSchema = createPaginatedResponse(assetBalance());
|
|
90680
90935
|
var OPERATION_TYPE_OPTIONS = ["mint", "burn", "transfer", "redeem"];
|
|
90681
90936
|
var TOKEN_TRANSACTION_FEE_COLLECTIONS_COLLECTION_FIELDS = {
|
|
90682
90937
|
collectedAt: dateField(),
|
|
@@ -90919,6 +91174,20 @@ var conversionTriggers = v2Contract.route({
|
|
|
90919
91174
|
successDescription: "Paginated list of conversion triggers with effective pricing.",
|
|
90920
91175
|
tags: [V2_TAG.token]
|
|
90921
91176
|
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), ConversionTriggersV2InputSchema)).output(ConversionTriggersV2OutputSchema);
|
|
91177
|
+
var conversionRecords = v2Contract.route({
|
|
91178
|
+
method: "GET",
|
|
91179
|
+
path: "/tokens/{tokenAddress}/conversion/records",
|
|
91180
|
+
description: "List conversion lifecycle records for a token. Includes conversion-minter issuance details when available. Supports JSON:API pagination, sorting, filtering, and faceted counts.",
|
|
91181
|
+
successDescription: "Paginated list of conversion records.",
|
|
91182
|
+
tags: [V2_TAG.token]
|
|
91183
|
+
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), ConversionRecordsV2InputSchema)).output(ConversionRecordsV2OutputSchema);
|
|
91184
|
+
var conversionHolderState = v2Contract.route({
|
|
91185
|
+
method: "GET",
|
|
91186
|
+
path: "/tokens/{tokenAddress}/conversion/holder-state",
|
|
91187
|
+
description: "Read holder-specific conversion state from the token's attached conversion feature. Returns null when no conversion feature is attached.",
|
|
91188
|
+
successDescription: "Conversion holder state retrieved successfully.",
|
|
91189
|
+
tags: [V2_TAG.token]
|
|
91190
|
+
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenConversionHolderStateInputSchema.shape.tokenAddress }), exports_external2.object(TokenConversionHolderStateInputSchema.shape).omit({ tokenAddress: true }))).output(createSingleResponse(TokenConversionHolderStateResponseSchema));
|
|
90922
91191
|
var votingDelegations = v2Contract.route({
|
|
90923
91192
|
method: "GET",
|
|
90924
91193
|
path: "/tokens/{tokenAddress}/voting-delegations",
|
|
@@ -90926,6 +91195,13 @@ var votingDelegations = v2Contract.route({
|
|
|
90926
91195
|
successDescription: "Paginated list of voting delegation lifecycle rows.",
|
|
90927
91196
|
tags: [V2_TAG.token]
|
|
90928
91197
|
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), VotingDelegationsV2InputSchema)).output(VotingDelegationsV2OutputSchema);
|
|
91198
|
+
var permitInfo = v2Contract.route({
|
|
91199
|
+
method: "GET",
|
|
91200
|
+
path: "/tokens/{tokenAddress}/permit-info",
|
|
91201
|
+
description: "Read EIP-2612 permit metadata from the token's attached permit feature, including the domain separator and optional owner nonce.",
|
|
91202
|
+
successDescription: "Permit feature metadata retrieved successfully.",
|
|
91203
|
+
tags: [V2_TAG.token]
|
|
91204
|
+
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenPermitInfoInputSchema.shape.tokenAddress }), exports_external2.object(TokenPermitInfoInputSchema.shape).omit({ tokenAddress: true }))).output(createSingleResponse(TokenPermitInfoResponseSchema));
|
|
90929
91205
|
var historicalBalances = v2Contract.route({
|
|
90930
91206
|
method: "GET",
|
|
90931
91207
|
path: "/tokens/{tokenAddress}/historical-balances",
|
|
@@ -90933,6 +91209,20 @@ var historicalBalances = v2Contract.route({
|
|
|
90933
91209
|
successDescription: "Paginated list of historical balance checkpoints.",
|
|
90934
91210
|
tags: [V2_TAG.token]
|
|
90935
91211
|
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), TokenHistoricalBalancesV2InputSchema)).output(TokenHistoricalBalancesV2OutputSchema);
|
|
91212
|
+
var historicalBalanceAtBlock = v2Contract.route({
|
|
91213
|
+
method: "GET",
|
|
91214
|
+
path: "/tokens/{tokenAddress}/historical-balances/balance-at-block",
|
|
91215
|
+
description: "Read a holder balance and total supply from the token's attached historical-balances feature at a specific feature clock timepoint.",
|
|
91216
|
+
successDescription: "Historical balance snapshot retrieved successfully.",
|
|
91217
|
+
tags: [V2_TAG.token]
|
|
91218
|
+
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), TokenHistoricalBalanceAtBlockV2InputQuerySchema)).output(TokenHistoricalBalanceAtBlockV2OutputSchema);
|
|
91219
|
+
var historicalHoldersAtBlock = v2Contract.route({
|
|
91220
|
+
method: "GET",
|
|
91221
|
+
path: "/tokens/{tokenAddress}/historical-balances/holders-at-block",
|
|
91222
|
+
description: "List holder balances read from the token's attached historical-balances feature at a specific feature clock timepoint.",
|
|
91223
|
+
successDescription: "Paginated historical holder snapshot retrieved successfully.",
|
|
91224
|
+
tags: [V2_TAG.token]
|
|
91225
|
+
}).input(v2Input.paramsQuery(exports_external2.object({ tokenAddress: TokenReadInputSchema.shape.tokenAddress }), TokenHistoricalHoldersAtBlockV2InputSchema)).output(TokenHistoricalHoldersAtBlockV2OutputSchema);
|
|
90936
91226
|
var transactionFeeCollections = v2Contract.route({
|
|
90937
91227
|
method: "GET",
|
|
90938
91228
|
path: "/tokens/{tokenAddress}/transaction-fee/collections",
|
|
@@ -90969,8 +91259,13 @@ var tokenV2ReadsContract = {
|
|
|
90969
91259
|
metadata: tokenMetadata,
|
|
90970
91260
|
transferApprovals,
|
|
90971
91261
|
conversionTriggers,
|
|
91262
|
+
conversionRecords,
|
|
91263
|
+
conversionHolderState,
|
|
90972
91264
|
votingDelegations,
|
|
91265
|
+
permitInfo,
|
|
90973
91266
|
historicalBalances,
|
|
91267
|
+
historicalBalanceAtBlock,
|
|
91268
|
+
historicalHoldersAtBlock,
|
|
90974
91269
|
transactionFeeCollections,
|
|
90975
91270
|
feeAccrualEvents,
|
|
90976
91271
|
externalFeeCollectionEvents,
|
|
@@ -92502,7 +92797,7 @@ function normalizeDalpBaseUrl(url3) {
|
|
|
92502
92797
|
}
|
|
92503
92798
|
var package_default = {
|
|
92504
92799
|
name: "@settlemint/dalp-sdk",
|
|
92505
|
-
version: "2.1.7-main.
|
|
92800
|
+
version: "2.1.7-main.25958450915",
|
|
92506
92801
|
private: false,
|
|
92507
92802
|
description: "Fully typed SDK for the DALP tokenization platform API",
|
|
92508
92803
|
homepage: "https://settlemint.com",
|
|
@@ -93074,7 +93369,7 @@ function toStandardWebhookSecret(secret) {
|
|
|
93074
93369
|
// package.json
|
|
93075
93370
|
var package_default2 = {
|
|
93076
93371
|
name: "@settlemint/dalp-cli",
|
|
93077
|
-
version: "2.1.7-main.
|
|
93372
|
+
version: "2.1.7-main.25958450915",
|
|
93078
93373
|
private: false,
|
|
93079
93374
|
description: "CLI for the Digital Asset Lifecycle Platform — manage tokens, identities, compliance, and more from the command line.",
|
|
93080
93375
|
homepage: "https://settlemint.com",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@settlemint/dalp-cli",
|
|
3
|
-
"version": "2.1.7-main.
|
|
3
|
+
"version": "2.1.7-main.25958450915",
|
|
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",
|