@explorins/pers-shared 2.1.121 → 2.1.123
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/cjs/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js +22 -2
- package/dist/cjs/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +2 -0
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js +27 -0
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts +4 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js +27 -4
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts +2 -0
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js +9 -0
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +2 -0
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -0
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts +2 -0
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +24 -0
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +9 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +67 -5
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
- package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
- package/dist/cjs/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/token-validity-type.enum.js +14 -0
- package/dist/cjs/shared-lib/enum/token-validity-type.enum.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
- package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
- package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js +25 -0
- package/dist/cjs/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts +2 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/index.js +2 -0
- package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
- package/dist/cjs/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
- package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
- package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js +3 -0
- package/dist/cjs/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
- package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
- package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
- package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +26 -0
- package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
- package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
- package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
- package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js +24 -0
- package/dist/cjs/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
- package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
- package/dist/cjs/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
- package/dist/cjs/shared-patterns/functions/token-metadata.functions.js +71 -3
- package/dist/cjs/shared-patterns/functions/token-metadata.functions.js.map +1 -1
- package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js +22 -2
- package/dist/esm/shared-lib/dto/ai/ai-prompt-config.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +2 -0
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +26 -0
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts +4 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +26 -4
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts +2 -0
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +8 -0
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts +2 -0
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts +2 -0
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +26 -3
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +8 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts +3 -0
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +66 -6
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
- package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts +14 -1
- package/dist/esm/shared-lib/enum/token-validity-type.enum.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/token-validity-type.enum.js +14 -0
- package/dist/esm/shared-lib/enum/token-validity-type.enum.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts +96 -0
- package/dist/esm/shared-lib/interfaces/dynamic-context.interface.d.ts.map +1 -0
- package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js +19 -0
- package/dist/esm/shared-lib/interfaces/dynamic-context.interface.js.map +1 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts +2 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/index.js +2 -0
- package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts +13 -0
- package/dist/esm/shared-lib/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts +48 -0
- package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.d.ts.map +1 -0
- package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js +2 -0
- package/dist/esm/shared-lib/interfaces/trigger-source-metadata.interface.js.map +1 -0
- package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts +17 -0
- package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map +1 -1
- package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js +24 -0
- package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map +1 -1
- package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts +13 -0
- package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.d.ts.map +1 -1
- package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js +22 -0
- package/dist/esm/shared-lib/value-objects/token-transaction-input.vo.js.map +1 -1
- package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts +38 -2
- package/dist/esm/shared-patterns/functions/token-metadata.functions.d.ts.map +1 -1
- package/dist/esm/shared-patterns/functions/token-metadata.functions.js +69 -2
- package/dist/esm/shared-patterns/functions/token-metadata.functions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,qBAAa,sBAAsB;IAO/B,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAI5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAI7B,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,+BAA+B,CAAC,EAAE,OAAO,CAAA;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAWzB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAKrB,eAAe,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,qBAAa,sBAAsB;IAO/B,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAI5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAI7B,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,+BAA+B,CAAC,EAAE,OAAO,CAAA;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAWzB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAKrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAOxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAUvB,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAA;CACrD"}
|
|
@@ -25,6 +25,7 @@ export class TenantUpdateRequestDTO {
|
|
|
25
25
|
projectWebsite;
|
|
26
26
|
projectEmail;
|
|
27
27
|
projectImageUrl;
|
|
28
|
+
projectLogoUrl;
|
|
28
29
|
allowedTokenIssuers;
|
|
29
30
|
}
|
|
30
31
|
__decorate([
|
|
@@ -83,6 +84,13 @@ __decorate([
|
|
|
83
84
|
OptionalNullify(),
|
|
84
85
|
IsUrl()
|
|
85
86
|
], TenantUpdateRequestDTO.prototype, "projectImageUrl", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
ApiPropertyOptional({
|
|
89
|
+
description: 'Logo URL for the project (smaller icon/avatar)',
|
|
90
|
+
}),
|
|
91
|
+
OptionalNullify(),
|
|
92
|
+
IsUrl()
|
|
93
|
+
], TenantUpdateRequestDTO.prototype, "projectLogoUrl", void 0);
|
|
86
94
|
__decorate([
|
|
87
95
|
ApiPropertyOptional({
|
|
88
96
|
description: 'List of allowed external JWT token issuers for this tenant. Each object must have an issuer URL.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAO/B,WAAW,CAAS;IAMpB,kBAAkB,CAAS;IAI3B,YAAY,CAAS;IAIrB,mBAAmB,CAAS;IAI5B,oBAAoB,CAAS;IAI7B,UAAU,CAAS;IAQnB,+BAA+B,CAAU;IAIzC,gBAAgB,CAAS;IAEzB;kCAC8B;IAE9B;kCAC8B;IAK9B,cAAc,CAAS;IAKvB,YAAY,CAAS;IAKrB,eAAe,CAAS;
|
|
1
|
+
{"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAO/B,WAAW,CAAS;IAMpB,kBAAkB,CAAS;IAI3B,YAAY,CAAS;IAIrB,mBAAmB,CAAS;IAI5B,oBAAoB,CAAS;IAI7B,UAAU,CAAS;IAQnB,+BAA+B,CAAU;IAIzC,gBAAgB,CAAS;IAEzB;kCAC8B;IAE9B;kCAC8B;IAK9B,cAAc,CAAS;IAKvB,YAAY,CAAS;IAKrB,eAAe,CAAS;IAOxB,cAAc,CAAS;IAUvB,mBAAmB,CAAiC;CACrD;AAzEC;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,eAAe,EAAE;2DACE;AAMpB;IAJC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yBAAyB;KACvC,CAAC;IACD,eAAe,EAAE;kEACS;AAI3B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;4DACG;AAIrB;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;mEACU;AAI5B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;oEACW;AAI7B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;0DACC;AAQnB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,OAAO;KACd,CAAC;IACD,eAAe,EAAE;IACjB,SAAS,EAAE;+EAC6B;AAIzC;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;gEACO;AAWzB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAKvB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,OAAO,EAAE;4DACW;AAKrB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;+DACgB;AAOxB;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACD,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAUvB;IARC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,CAAC,4BAA4B,CAAC;KACrC,CAAC;IACD,eAAe,EAAE;IACjB,OAAO,EAAE;IACT,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;mEACW"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TokenValidityType } from '../../enum/token-validity-type.enum';
|
|
2
2
|
import { AiPromptConfigDTO } from '../ai/ai-prompt-config.dto';
|
|
3
|
+
import type { DynamicContext } from '../../interfaces/dynamic-context.interface';
|
|
3
4
|
/**
|
|
4
5
|
* Token Metadata - NFT Template/Blueprint
|
|
5
6
|
*
|
|
@@ -36,6 +37,8 @@ export declare class TokenMetadataCreateRequestDTO {
|
|
|
36
37
|
previewUrl?: string;
|
|
37
38
|
tags?: string[];
|
|
38
39
|
aiPromptConfigs?: AiPromptConfigDTO[];
|
|
40
|
+
allowExternalContextOverwrite?: boolean;
|
|
41
|
+
defaultPromptContext?: DynamicContext;
|
|
39
42
|
businessIds?: string[];
|
|
40
43
|
}
|
|
41
44
|
export declare class TokenMetadataDTO extends TokenMetadataCreateRequestDTO {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-metadata.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"token-metadata.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAOtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAmBrB,WAAW,CAAC,EAAE,MAAM,CAAA;IAmBpB,IAAI,CAAC,EAAE,MAAM,CAAA;IASb,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAQhC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAOzB,UAAU,CAAC,EAAE,IAAI,CAAA;IAOjB,YAAY,CAAC,EAAE,MAAM,CAAA;IAOrB,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAO9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAoBhB,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAetC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAaxC,oBAAoB,CAAC,EAAE,cAAc,CAAC;IAUtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,qBAAa,gBAAiB,SAAQ,6BAA6B;IAK/D,EAAE,EAAE,MAAM,CAAK;IAKf,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAKhC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAK7B,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,0BAA0B,EAAE,MAAM,CAAK;IAKvC,QAAQ,EAAE,OAAO,CAAS;IAO1B,IAAI,EAAE,MAAM,EAAE,CAAM;IAOpB,WAAW,EAAE,MAAM,EAAE,CAAM;CAC9B"}
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
8
|
-
import { IsUrl, IsString, IsDateString, IsEnum, IsNumber, IsArray, ValidateNested } from 'class-validator';
|
|
8
|
+
import { IsUrl, IsString, IsDateString, IsEnum, IsNumber, IsArray, ValidateNested, IsObject } from 'class-validator';
|
|
9
9
|
import { Type } from 'class-transformer';
|
|
10
10
|
import { OptionalStrip, OptionalStripNumber } from '../../decorators/index.js';
|
|
11
11
|
import { TokenValidityTypes } from '../../enum/token-validity-type.enum.js';
|
|
@@ -46,6 +46,8 @@ export class TokenMetadataCreateRequestDTO {
|
|
|
46
46
|
previewUrl;
|
|
47
47
|
tags;
|
|
48
48
|
aiPromptConfigs;
|
|
49
|
+
allowExternalContextOverwrite;
|
|
50
|
+
defaultPromptContext;
|
|
49
51
|
businessIds;
|
|
50
52
|
}
|
|
51
53
|
__decorate([
|
|
@@ -64,14 +66,38 @@ __decorate([
|
|
|
64
66
|
], TokenMetadataCreateRequestDTO.prototype, "externalUrl", void 0);
|
|
65
67
|
__decorate([
|
|
66
68
|
ApiPropertyOptional({
|
|
67
|
-
description:
|
|
69
|
+
description: `A human-readable description of the item. Markdown is supported.
|
|
70
|
+
|
|
71
|
+
**ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
|
|
72
|
+
|
|
73
|
+
**Available placeholders:**
|
|
74
|
+
- \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
|
|
75
|
+
- \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
|
|
76
|
+
- \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
|
|
77
|
+
- \`{{defaults.xxx}}\` - Default values from defaultPromptContext
|
|
78
|
+
|
|
79
|
+
**Example:** \`"Thank you {{user.firstName}} for visiting {{business.displayName}}! Your exclusive reward for {{context.eventName}}."\`
|
|
80
|
+
|
|
81
|
+
**Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
|
|
68
82
|
}),
|
|
69
83
|
OptionalStrip(),
|
|
70
84
|
IsString()
|
|
71
85
|
], TokenMetadataCreateRequestDTO.prototype, "description", void 0);
|
|
72
86
|
__decorate([
|
|
73
87
|
ApiPropertyOptional({
|
|
74
|
-
description:
|
|
88
|
+
description: `Name of the item.
|
|
89
|
+
|
|
90
|
+
**ERC721 Template Interpolation:** Supports \`{{placeholder}}\` syntax for dynamic personalization at mint time (without AI costs).
|
|
91
|
+
|
|
92
|
+
**Available placeholders:**
|
|
93
|
+
- \`{{user.firstName}}\`, \`{{user.lastName}}\` - User data
|
|
94
|
+
- \`{{campaign.name}}\`, \`{{business.displayName}}\` - Campaign/business
|
|
95
|
+
- \`{{context.xxx}}\` - Dynamic context values (TriggerSource.context or claim request)
|
|
96
|
+
- \`{{defaults.xxx}}\` - Default values from defaultPromptContext
|
|
97
|
+
|
|
98
|
+
**Example:** \`"Welcome {{context.guestName}} - VIP Pass"\` or \`"{{user.firstName}}'s {{campaign.name}} Reward"\`
|
|
99
|
+
|
|
100
|
+
**Processing order:** Template interpolation runs first, then AI processing (if configured) can further enhance the result.`
|
|
75
101
|
}),
|
|
76
102
|
OptionalStrip(),
|
|
77
103
|
IsString()
|
|
@@ -140,11 +166,17 @@ __decorate([
|
|
|
140
166
|
], TokenMetadataCreateRequestDTO.prototype, "tags", void 0);
|
|
141
167
|
__decorate([
|
|
142
168
|
ApiPropertyOptional({
|
|
143
|
-
description:
|
|
169
|
+
description: `**ERC721 only** - AI prompt configurations for dynamic content generation at mint time.
|
|
170
|
+
|
|
171
|
+
AI processing runs AFTER template interpolation, so prompts can reference already-interpolated values.
|
|
172
|
+
|
|
173
|
+
Results are mapped by key to override static fields (name, description, imageUrl). Ignored for ERC1155 tokens.
|
|
174
|
+
|
|
175
|
+
**Note:** For simple personalization without AI costs, use \`{{placeholder}}\` syntax directly in name/description fields instead.`,
|
|
144
176
|
type: [AiPromptConfigDTO],
|
|
145
177
|
example: [
|
|
146
|
-
{ type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.
|
|
147
|
-
{ type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A
|
|
178
|
+
{ type: 'TEXT_GENERATION', key: 'name', prompt: 'Generate a unique reward name for {{user.firstName}} at {{business.displayName}}' },
|
|
179
|
+
{ type: 'IMAGE_GENERATION', key: 'imageUrl', prompt: 'A {{defaults.style}} trophy badge for {{context.eventName}}' }
|
|
148
180
|
]
|
|
149
181
|
}),
|
|
150
182
|
OptionalStrip(),
|
|
@@ -152,6 +184,34 @@ __decorate([
|
|
|
152
184
|
ValidateNested({ each: true }),
|
|
153
185
|
Type(() => AiPromptConfigDTO)
|
|
154
186
|
], TokenMetadataCreateRequestDTO.prototype, "aiPromptConfigs", void 0);
|
|
187
|
+
__decorate([
|
|
188
|
+
ApiPropertyOptional({
|
|
189
|
+
description: `**ERC721 only** - Allow USER-PROVIDED external context from claim/redeem requests to be used in template interpolation and AI prompts.
|
|
190
|
+
|
|
191
|
+
**Security model:**
|
|
192
|
+
- \`false\` (default): Only admin-controlled context (TriggerSource.context, Redemption.context, defaultPromptContext) is available
|
|
193
|
+
- \`true\`: User-provided context from API requests is also merged and available as \`{{context.xxx}}\`
|
|
194
|
+
|
|
195
|
+
**Note:** Admin-controlled context (QR/NFC data) is ALWAYS applied regardless of this flag.`,
|
|
196
|
+
type: Boolean,
|
|
197
|
+
default: false,
|
|
198
|
+
example: true
|
|
199
|
+
}),
|
|
200
|
+
OptionalStrip()
|
|
201
|
+
], TokenMetadataCreateRequestDTO.prototype, "allowExternalContextOverwrite", void 0);
|
|
202
|
+
__decorate([
|
|
203
|
+
ApiPropertyOptional({
|
|
204
|
+
description: `**ERC721 only** - Default context values for template interpolation and AI prompts. Available as \`{{defaults.xxx}}\` placeholders.
|
|
205
|
+
|
|
206
|
+
Always applied regardless of allowExternalContextOverwrite. Use for brand defaults, styling preferences, or fallback values.
|
|
207
|
+
|
|
208
|
+
**Example usage in name:** \`"{{defaults.brand}} - {{user.firstName}}'s Reward"\``,
|
|
209
|
+
type: 'object',
|
|
210
|
+
example: { brand: 'PERS Rewards', style: 'minimal', defaultLocation: 'Online' }
|
|
211
|
+
}),
|
|
212
|
+
OptionalStrip(),
|
|
213
|
+
IsObject()
|
|
214
|
+
], TokenMetadataCreateRequestDTO.prototype, "defaultPromptContext", void 0);
|
|
155
215
|
__decorate([
|
|
156
216
|
ApiPropertyOptional({
|
|
157
217
|
description: 'Business IDs where this token can be redeemed/spent. If empty, token can be spent at any business in the tenant. Used to restrict token usage to specific participating businesses.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-metadata.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"token-metadata.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/token/token-metadata.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
* Token Validity Type Enum
|
|
3
3
|
*
|
|
4
4
|
* Defines how token expiry is calculated:
|
|
5
|
+
*
|
|
6
|
+
* Static types (computed at issuance from template):
|
|
5
7
|
* - FIXED_DATE: Uses expiryDate directly as absolute expiration
|
|
6
8
|
* - DAYS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration days
|
|
7
9
|
* - HOURS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration hours
|
|
8
10
|
* - MONTHS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration months
|
|
9
11
|
* - END_OF_MONTH: Token expires at end of the month when issued
|
|
10
12
|
* - END_OF_YEAR: Token expires at end of the year when issued
|
|
13
|
+
*
|
|
14
|
+
* Trigger-based types (computed from runtime context):
|
|
15
|
+
* - TRIGGER_DATE: Uses date from context.validityDate (e.g., hotel check-out date)
|
|
16
|
+
* - TRIGGER_DATE_RANGE: Uses context.validityEndDate directly (for explicit start/end scenarios)
|
|
17
|
+
* - DAYS_FROM_TRIGGER: Computes expiry as context.validityDate + duration days
|
|
18
|
+
* Duration from context.validityDuration OR template.validityDuration
|
|
19
|
+
* - HOURS_FROM_TRIGGER: Same as above but hours
|
|
11
20
|
*/
|
|
12
21
|
export declare const TokenValidityTypes: {
|
|
13
22
|
readonly FIXED_DATE: "fixed_date";
|
|
@@ -16,7 +25,11 @@ export declare const TokenValidityTypes: {
|
|
|
16
25
|
readonly MONTHS_FROM_ISSUANCE: "months_from_issuance";
|
|
17
26
|
readonly END_OF_MONTH: "end_of_month";
|
|
18
27
|
readonly END_OF_YEAR: "end_of_year";
|
|
28
|
+
readonly TRIGGER_DATE: "trigger_date";
|
|
29
|
+
readonly TRIGGER_DATE_RANGE: "trigger_date_range";
|
|
30
|
+
readonly DAYS_FROM_TRIGGER: "days_from_trigger";
|
|
31
|
+
readonly HOURS_FROM_TRIGGER: "hours_from_trigger";
|
|
19
32
|
};
|
|
20
33
|
export type TokenValidityType = typeof TokenValidityTypes[keyof typeof TokenValidityTypes];
|
|
21
|
-
export declare const TOKEN_VALIDITY_TYPE_VALUES: ("fixed_date" | "days_from_issuance" | "hours_from_issuance" | "months_from_issuance" | "end_of_month" | "end_of_year")[];
|
|
34
|
+
export declare const TOKEN_VALIDITY_TYPE_VALUES: ("fixed_date" | "days_from_issuance" | "hours_from_issuance" | "months_from_issuance" | "end_of_month" | "end_of_year" | "trigger_date" | "trigger_date_range" | "days_from_trigger" | "hours_from_trigger")[];
|
|
22
35
|
//# sourceMappingURL=token-validity-type.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-validity-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"token-validity-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAYrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE3F,eAAO,MAAM,0BAA0B,gNAAoC,CAAC"}
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
* Token Validity Type Enum
|
|
3
3
|
*
|
|
4
4
|
* Defines how token expiry is calculated:
|
|
5
|
+
*
|
|
6
|
+
* Static types (computed at issuance from template):
|
|
5
7
|
* - FIXED_DATE: Uses expiryDate directly as absolute expiration
|
|
6
8
|
* - DAYS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration days
|
|
7
9
|
* - HOURS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration hours
|
|
8
10
|
* - MONTHS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration months
|
|
9
11
|
* - END_OF_MONTH: Token expires at end of the month when issued
|
|
10
12
|
* - END_OF_YEAR: Token expires at end of the year when issued
|
|
13
|
+
*
|
|
14
|
+
* Trigger-based types (computed from runtime context):
|
|
15
|
+
* - TRIGGER_DATE: Uses date from context.validityDate (e.g., hotel check-out date)
|
|
16
|
+
* - TRIGGER_DATE_RANGE: Uses context.validityEndDate directly (for explicit start/end scenarios)
|
|
17
|
+
* - DAYS_FROM_TRIGGER: Computes expiry as context.validityDate + duration days
|
|
18
|
+
* Duration from context.validityDuration OR template.validityDuration
|
|
19
|
+
* - HOURS_FROM_TRIGGER: Same as above but hours
|
|
11
20
|
*/
|
|
12
21
|
export const TokenValidityTypes = {
|
|
13
22
|
FIXED_DATE: 'fixed_date',
|
|
@@ -16,6 +25,11 @@ export const TokenValidityTypes = {
|
|
|
16
25
|
MONTHS_FROM_ISSUANCE: 'months_from_issuance',
|
|
17
26
|
END_OF_MONTH: 'end_of_month',
|
|
18
27
|
END_OF_YEAR: 'end_of_year',
|
|
28
|
+
// Trigger-based types - require context at runtime
|
|
29
|
+
TRIGGER_DATE: 'trigger_date',
|
|
30
|
+
TRIGGER_DATE_RANGE: 'trigger_date_range',
|
|
31
|
+
DAYS_FROM_TRIGGER: 'days_from_trigger',
|
|
32
|
+
HOURS_FROM_TRIGGER: 'hours_from_trigger',
|
|
19
33
|
};
|
|
20
34
|
export const TOKEN_VALIDITY_TYPE_VALUES = Object.values(TokenValidityTypes);
|
|
21
35
|
//# sourceMappingURL=token-validity-type.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-validity-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"token-validity-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/token-validity-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,mDAAmD;IACnD,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;CAClC,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic Context Interface
|
|
3
|
+
*
|
|
4
|
+
* Used for runtime context injection in ERC721 token generation.
|
|
5
|
+
* Supports both AI prompt placeholders and trigger-based validity computation.
|
|
6
|
+
*
|
|
7
|
+
* Trust levels and filtering:
|
|
8
|
+
* - Dynamic context (TriggerSource.context): Admin-controlled (QR/NFC) → always trusted
|
|
9
|
+
* - External context (CampaignClaimRequest.context): User API request → only if allowExternalContextOverwrite=true
|
|
10
|
+
*
|
|
11
|
+
* Context merge order (later overrides earlier on conflict):
|
|
12
|
+
* 1. TokenMetadata.defaultPromptContext (admin-defined defaults)
|
|
13
|
+
* 2. Dynamic context (location/trigger-specific, always included)
|
|
14
|
+
* 3. External context (user-provided, only if allowExternalContextOverwrite=true)
|
|
15
|
+
*
|
|
16
|
+
* @example Hotel stay scenario
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const context: DynamicContext = {
|
|
19
|
+
* // Validity - token expires on check-out
|
|
20
|
+
* validityEndDate: '2026-04-20T11:00:00Z',
|
|
21
|
+
*
|
|
22
|
+
* // AI prompt context - available as {{context.xxx}}
|
|
23
|
+
* guestName: 'John Doe',
|
|
24
|
+
* roomNumber: '305',
|
|
25
|
+
* roomType: 'Suite',
|
|
26
|
+
* };
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Event ticket scenario
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const context: DynamicContext = {
|
|
32
|
+
* // Validity - token valid until event end + 2 hours
|
|
33
|
+
* validityDate: '2026-06-15T22:00:00Z',
|
|
34
|
+
* validityDuration: 2, // hours (with HOURS_FROM_TRIGGER)
|
|
35
|
+
*
|
|
36
|
+
* // AI prompt context
|
|
37
|
+
* eventName: 'Summer Festival',
|
|
38
|
+
* ticketType: 'VIP',
|
|
39
|
+
* seatNumber: 'A12',
|
|
40
|
+
* };
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export interface DynamicContext {
|
|
44
|
+
/**
|
|
45
|
+
* Base date for trigger-based validity types.
|
|
46
|
+
* Used by: TRIGGER_DATE, DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
|
|
47
|
+
*
|
|
48
|
+
* @example '2026-04-15T14:00:00Z' (hotel check-in date)
|
|
49
|
+
*/
|
|
50
|
+
validityDate?: string | Date;
|
|
51
|
+
/**
|
|
52
|
+
* End date for date range scenarios.
|
|
53
|
+
* Used by: TRIGGER_DATE_RANGE
|
|
54
|
+
* Takes precedence over validityDate for expiry calculation.
|
|
55
|
+
*
|
|
56
|
+
* @example '2026-04-20T11:00:00Z' (hotel check-out date)
|
|
57
|
+
*/
|
|
58
|
+
validityEndDate?: string | Date;
|
|
59
|
+
/**
|
|
60
|
+
* Dynamic duration override (days or hours depending on validity type).
|
|
61
|
+
* Used by: DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
|
|
62
|
+
* Overrides TokenMetadata.validityDuration when provided.
|
|
63
|
+
*
|
|
64
|
+
* @example 5 (5-night hotel stay, or 5 hours for event)
|
|
65
|
+
*/
|
|
66
|
+
validityDuration?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Additional arbitrary keys for AI prompt placeholders.
|
|
69
|
+
* Available in prompts as {{context.keyName}}.
|
|
70
|
+
*
|
|
71
|
+
* Common examples:
|
|
72
|
+
* - guestName, customerName, userName
|
|
73
|
+
* - roomNumber, seatNumber, orderNumber
|
|
74
|
+
* - productCategory, eventType, tierLevel
|
|
75
|
+
*/
|
|
76
|
+
[key: string]: string | number | boolean | Date | undefined | null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard to check if context has validity date
|
|
80
|
+
*/
|
|
81
|
+
export declare const hasValidityDate: (context?: DynamicContext) => context is DynamicContext & {
|
|
82
|
+
validityDate: string | Date;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Type guard to check if context has validity end date
|
|
86
|
+
*/
|
|
87
|
+
export declare const hasValidityEndDate: (context?: DynamicContext) => context is DynamicContext & {
|
|
88
|
+
validityEndDate: string | Date;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Type guard to check if context has validity duration
|
|
92
|
+
*/
|
|
93
|
+
export declare const hasValidityDuration: (context?: DynamicContext) => context is DynamicContext & {
|
|
94
|
+
validityDuration: number;
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=dynamic-context.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-context.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/dynamic-context.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,cAAc;IAK3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAM1B;;;;;;;;OAQG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAEnH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAEzH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,cAAc,KAAG,OAAO,IAAI,cAAc,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAEpH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard to check if context has validity date
|
|
3
|
+
*/
|
|
4
|
+
export const hasValidityDate = (context) => {
|
|
5
|
+
return !!context?.validityDate;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Type guard to check if context has validity end date
|
|
9
|
+
*/
|
|
10
|
+
export const hasValidityEndDate = (context) => {
|
|
11
|
+
return !!context?.validityEndDate;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Type guard to check if context has validity duration
|
|
15
|
+
*/
|
|
16
|
+
export const hasValidityDuration = (context) => {
|
|
17
|
+
return typeof context?.validityDuration === 'number' && context.validityDuration > 0;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=dynamic-context.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-context.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/dynamic-context.interface.ts"],"names":[],"mappings":"AAyFA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAA+D,EAAE;IACrH,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;AACnC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAkE,EAAE;IAC3H,OAAO,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC;AACtC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAwB,EAA4D,EAAE;IACtH,OAAO,OAAO,OAAO,EAAE,gBAAgB,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACzF,CAAC,CAAC"}
|
|
@@ -19,6 +19,8 @@ export * from './counterfactual-wallet-response.interface';
|
|
|
19
19
|
export * from './campaign';
|
|
20
20
|
export * from './ai-prompt-config.interface';
|
|
21
21
|
export * from './balance-filter-options.interface';
|
|
22
|
+
export * from './dynamic-context.interface';
|
|
23
|
+
export * from './trigger-source-metadata.interface';
|
|
22
24
|
export * from './ws-relay.types';
|
|
23
25
|
export * from './external-token-issuer.interface';
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
|
|
@@ -20,6 +20,8 @@ export * from './counterfactual-wallet-response.interface.js';
|
|
|
20
20
|
export * from './campaign/index.js';
|
|
21
21
|
export * from './ai-prompt-config.interface.js';
|
|
22
22
|
export * from './balance-filter-options.interface.js';
|
|
23
|
+
export * from './dynamic-context.interface.js';
|
|
24
|
+
export * from './trigger-source-metadata.interface.js';
|
|
23
25
|
export * from './ws-relay.types.js';
|
|
24
26
|
export * from './external-token-issuer.interface.js';
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Address } from "../value-objects";
|
|
|
4
4
|
import { AccountOwnerType } from "../enum/owner-type.enum";
|
|
5
5
|
import { NativeTokenType } from "../types";
|
|
6
6
|
import { TransactionRole } from "../enum/transaction-role.enum";
|
|
7
|
+
import type { DynamicContext } from "./dynamic-context.interface";
|
|
7
8
|
export interface TxParticipant {
|
|
8
9
|
/** Account identifier (user ID, business ID, etc.) */
|
|
9
10
|
accountId?: string | null;
|
|
@@ -30,6 +31,18 @@ export interface ITokenTransactionInputData {
|
|
|
30
31
|
overrideTokenName?: string;
|
|
31
32
|
overrideTokenDescription?: string;
|
|
32
33
|
customAttributes?: Record<string, any>;
|
|
34
|
+
/**
|
|
35
|
+
* **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
|
|
36
|
+
* Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
|
|
37
|
+
* Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
|
|
38
|
+
*/
|
|
39
|
+
dynamicContext?: DynamicContext;
|
|
40
|
+
/**
|
|
41
|
+
* **ERC721 only** - User-provided external context from claim request.
|
|
42
|
+
* Only applied if TokenMetadata.allowExternalContextOverwrite is true.
|
|
43
|
+
* Available in AI prompts as {{external.xxx}} when allowed.
|
|
44
|
+
*/
|
|
45
|
+
externalContext?: DynamicContext;
|
|
33
46
|
/** Business commercially involved in this transaction (for stats/reporting) */
|
|
34
47
|
engagedBusinessId: string | null;
|
|
35
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,sBAAsB;IACtB,WAAW,EAAE,gBAAgB,CAAC;IAE9B,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAC;IAExB,sCAAsC;IACtC,IAAI,EAAE,eAAe,CAAC;CACzB;AAGD,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IAEjC,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token configuration override for trigger sources.
|
|
3
|
+
* Allows specific trigger sources (e.g., QR codes) to mint different token variants.
|
|
4
|
+
*/
|
|
5
|
+
export interface TriggerSourceTokenConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Override the tokenMetadataIncrementalId for this trigger source.
|
|
8
|
+
* Useful for QR codes that mint specific token variants.
|
|
9
|
+
*
|
|
10
|
+
* @example '2' (mint token metadata ID 2 instead of campaign default)
|
|
11
|
+
*/
|
|
12
|
+
tokenId?: string | number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Trigger Source Metadata Interface
|
|
16
|
+
*
|
|
17
|
+
* Typed metadata structure for trigger sources (QR codes, NFC tags, etc.).
|
|
18
|
+
* Contains ONLY token configuration overrides.
|
|
19
|
+
*
|
|
20
|
+
* NOTE: Dynamic context is now at TriggerSource.context (top-level),
|
|
21
|
+
* consistent with CampaignClaimRequest.context API design.
|
|
22
|
+
*
|
|
23
|
+
* @example QR code with specific token variant
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const metadata: TriggerSourceMetadata = {
|
|
26
|
+
* tokenConfig: { tokenId: '2' }, // This QR mints token variant 2
|
|
27
|
+
* };
|
|
28
|
+
*
|
|
29
|
+
* // Context is now top-level:
|
|
30
|
+
* const triggerSource = {
|
|
31
|
+
* metadata: { tokenConfig: { tokenId: '2' } },
|
|
32
|
+
* context: { location: 'Main Lobby', deviceId: 'kiosk-001' }
|
|
33
|
+
* };
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export interface TriggerSourceMetadata {
|
|
37
|
+
/**
|
|
38
|
+
* Token configuration override.
|
|
39
|
+
* Allows this trigger source to mint a different token variant than campaign default.
|
|
40
|
+
*/
|
|
41
|
+
tokenConfig?: TriggerSourceTokenConfig;
|
|
42
|
+
/**
|
|
43
|
+
* Additional arbitrary metadata for custom use cases.
|
|
44
|
+
* Not processed by the system - available for integrations.
|
|
45
|
+
*/
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=trigger-source-metadata.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-source-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/trigger-source-metadata.interface.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-source-metadata.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/trigger-source-metadata.interface.ts"],"names":[],"mappings":""}
|
|
@@ -2,6 +2,7 @@ import { Web3TransactionType } from '../enum/transaction-type.enum';
|
|
|
2
2
|
import { AccountSelector } from '../../shared-lib/types/account-selector.type';
|
|
3
3
|
import { AccountSelectorVo } from './account-selector.vo';
|
|
4
4
|
import { AccountOwnerType } from '../enum';
|
|
5
|
+
import type { DynamicContext } from '../interfaces/dynamic-context.interface';
|
|
5
6
|
/**
|
|
6
7
|
* Token Transaction Entity Reference Input VO
|
|
7
8
|
*
|
|
@@ -29,6 +30,18 @@ export declare class TokenTransactionEntityReferenceInputVo {
|
|
|
29
30
|
readonly overrideTokenName?: string;
|
|
30
31
|
readonly overrideTokenDescription?: string;
|
|
31
32
|
readonly customAttributes?: Record<string, any>;
|
|
33
|
+
/**
|
|
34
|
+
* **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
|
|
35
|
+
* Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
|
|
36
|
+
* Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
|
|
37
|
+
*/
|
|
38
|
+
readonly dynamicContext?: DynamicContext;
|
|
39
|
+
/**
|
|
40
|
+
* **ERC721 only** - User-provided external context from claim request.
|
|
41
|
+
* Only applied if TokenMetadata.allowExternalContextOverwrite is true.
|
|
42
|
+
* Available in AI prompts as {{external.xxx}} when allowed.
|
|
43
|
+
*/
|
|
44
|
+
readonly externalContext?: DynamicContext;
|
|
32
45
|
/** Business commercially involved in this transaction (for stats/reporting) */
|
|
33
46
|
readonly engagedBusinessId: string | null;
|
|
34
47
|
/** Entity authorized to submit this transaction (defaults to sender if not specified) */
|
|
@@ -48,6 +61,8 @@ export declare class TokenTransactionEntityReferenceInputVo {
|
|
|
48
61
|
overrideTokenName?: string;
|
|
49
62
|
overrideTokenDescription?: string;
|
|
50
63
|
customAttributes?: Record<string, any>;
|
|
64
|
+
dynamicContext?: DynamicContext;
|
|
65
|
+
externalContext?: DynamicContext;
|
|
51
66
|
engagedBusinessId: string | null;
|
|
52
67
|
authorizedSubmitterId?: string | null;
|
|
53
68
|
authorizedSubmitterType?: AccountOwnerType | null;
|
|
@@ -69,6 +84,8 @@ export declare class TokenTransactionEntityReferenceInputVo {
|
|
|
69
84
|
overrideTokenName?: string;
|
|
70
85
|
overrideTokenDescription?: string;
|
|
71
86
|
customAttributes?: Record<string, any>;
|
|
87
|
+
dynamicContext?: DynamicContext;
|
|
88
|
+
externalContext?: DynamicContext;
|
|
72
89
|
engagedBusinessId: string | null;
|
|
73
90
|
authorizedSubmitterId: string | null;
|
|
74
91
|
authorizedSubmitterType: AccountOwnerType | null;
|
package/dist/esm/shared-lib/value-objects/token-transaction-entity-reference-input.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-transaction-entity-reference-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C;;;;;;;;;GASG;AACH,qBAAa,sCAAsC;IAGjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,SAEgB,aAAa,EAAE,MAAM,CAAC;IAEtC;;;OAGG;IAGI,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,SAGgB,MAAM,EAAE,iBAAiB,CAAC;IAE1C,SAGgB,SAAS,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAErD,SAEgB,MAAM,EAAE,MAAM,CAAC;IAE/B,SAEgB,IAAI,EAAE,mBAAmB,CAAC;IAG1C,SAEgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElC,SAEgB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1C,SAEgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3C,SAEgB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElD,SAEgB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,SAEgB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD,yFAAyF;IACzF,SAEgB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAErD,2DAA2D;IAC3D,SAEgB,uBAAuB,EAAE,gBAAgB,GAAG,IAAI,CAAC;gBAErD,IAAI,EAAE;QAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,eAAe,CAAC;QACxB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,mBAAmB,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,uBAAuB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;KACnD;
|
|
1
|
+
{"version":3,"file":"token-transaction-entity-reference-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":"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"}
|