@explorins/pers-shared 2.1.122 → 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/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/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
|
@@ -5,12 +5,21 @@ exports.TOKEN_VALIDITY_TYPE_VALUES = exports.TokenValidityTypes = void 0;
|
|
|
5
5
|
* Token Validity Type Enum
|
|
6
6
|
*
|
|
7
7
|
* Defines how token expiry is calculated:
|
|
8
|
+
*
|
|
9
|
+
* Static types (computed at issuance from template):
|
|
8
10
|
* - FIXED_DATE: Uses expiryDate directly as absolute expiration
|
|
9
11
|
* - DAYS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration days
|
|
10
12
|
* - HOURS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration hours
|
|
11
13
|
* - MONTHS_FROM_ISSUANCE: Computes expiry as issuance date + validityDuration months
|
|
12
14
|
* - END_OF_MONTH: Token expires at end of the month when issued
|
|
13
15
|
* - END_OF_YEAR: Token expires at end of the year when issued
|
|
16
|
+
*
|
|
17
|
+
* Trigger-based types (computed from runtime context):
|
|
18
|
+
* - TRIGGER_DATE: Uses date from context.validityDate (e.g., hotel check-out date)
|
|
19
|
+
* - TRIGGER_DATE_RANGE: Uses context.validityEndDate directly (for explicit start/end scenarios)
|
|
20
|
+
* - DAYS_FROM_TRIGGER: Computes expiry as context.validityDate + duration days
|
|
21
|
+
* Duration from context.validityDuration OR template.validityDuration
|
|
22
|
+
* - HOURS_FROM_TRIGGER: Same as above but hours
|
|
14
23
|
*/
|
|
15
24
|
exports.TokenValidityTypes = {
|
|
16
25
|
FIXED_DATE: 'fixed_date',
|
|
@@ -19,6 +28,11 @@ exports.TokenValidityTypes = {
|
|
|
19
28
|
MONTHS_FROM_ISSUANCE: 'months_from_issuance',
|
|
20
29
|
END_OF_MONTH: 'end_of_month',
|
|
21
30
|
END_OF_YEAR: 'end_of_year',
|
|
31
|
+
// Trigger-based types - require context at runtime
|
|
32
|
+
TRIGGER_DATE: 'trigger_date',
|
|
33
|
+
TRIGGER_DATE_RANGE: 'trigger_date_range',
|
|
34
|
+
DAYS_FROM_TRIGGER: 'days_from_trigger',
|
|
35
|
+
HOURS_FROM_TRIGGER: 'hours_from_trigger',
|
|
22
36
|
};
|
|
23
37
|
exports.TOKEN_VALIDITY_TYPE_VALUES = Object.values(exports.TokenValidityTypes);
|
|
24
38
|
//# 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;AACU,QAAA,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;AAIE,QAAA,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,0BAAkB,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,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasValidityDuration = exports.hasValidityEndDate = exports.hasValidityDate = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard to check if context has validity date
|
|
6
|
+
*/
|
|
7
|
+
const hasValidityDate = (context) => {
|
|
8
|
+
return !!context?.validityDate;
|
|
9
|
+
};
|
|
10
|
+
exports.hasValidityDate = hasValidityDate;
|
|
11
|
+
/**
|
|
12
|
+
* Type guard to check if context has validity end date
|
|
13
|
+
*/
|
|
14
|
+
const hasValidityEndDate = (context) => {
|
|
15
|
+
return !!context?.validityEndDate;
|
|
16
|
+
};
|
|
17
|
+
exports.hasValidityEndDate = hasValidityEndDate;
|
|
18
|
+
/**
|
|
19
|
+
* Type guard to check if context has validity duration
|
|
20
|
+
*/
|
|
21
|
+
const hasValidityDuration = (context) => {
|
|
22
|
+
return typeof context?.validityDuration === 'number' && context.validityDuration > 0;
|
|
23
|
+
};
|
|
24
|
+
exports.hasValidityDuration = hasValidityDuration;
|
|
25
|
+
//# 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;AACI,MAAM,eAAe,GAAG,CAAC,OAAwB,EAA+D,EAAE;IACrH,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;AACnC,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAkE,EAAE;IAC3H,OAAO,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC;AACtC,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF;;GAEG;AACI,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;AAFW,QAAA,mBAAmB,uBAE9B"}
|
|
@@ -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"}
|
|
@@ -36,6 +36,8 @@ __exportStar(require("./counterfactual-wallet-response.interface"), exports);
|
|
|
36
36
|
__exportStar(require("./campaign"), exports);
|
|
37
37
|
__exportStar(require("./ai-prompt-config.interface"), exports);
|
|
38
38
|
__exportStar(require("./balance-filter-options.interface"), exports);
|
|
39
|
+
__exportStar(require("./dynamic-context.interface"), exports);
|
|
40
|
+
__exportStar(require("./trigger-source-metadata.interface"), exports);
|
|
39
41
|
__exportStar(require("./ws-relay.types"), exports);
|
|
40
42
|
__exportStar(require("./external-token-issuer.interface"), exports);
|
|
41
43
|
//# 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,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AAEpD,mDAAiC;AAEjC,oEAAkD"}
|
|
@@ -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/cjs/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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"}
|
|
@@ -43,6 +43,18 @@ class TokenTransactionEntityReferenceInputVo {
|
|
|
43
43
|
overrideTokenName;
|
|
44
44
|
overrideTokenDescription;
|
|
45
45
|
customAttributes;
|
|
46
|
+
/**
|
|
47
|
+
* **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
|
|
48
|
+
* Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
|
|
49
|
+
* Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
|
|
50
|
+
*/
|
|
51
|
+
dynamicContext;
|
|
52
|
+
/**
|
|
53
|
+
* **ERC721 only** - User-provided external context from claim request.
|
|
54
|
+
* Only applied if TokenMetadata.allowExternalContextOverwrite is true.
|
|
55
|
+
* Available in AI prompts as {{external.xxx}} when allowed.
|
|
56
|
+
*/
|
|
57
|
+
externalContext;
|
|
46
58
|
/** Business commercially involved in this transaction (for stats/reporting) */
|
|
47
59
|
engagedBusinessId;
|
|
48
60
|
/** Entity authorized to submit this transaction (defaults to sender if not specified) */
|
|
@@ -63,6 +75,8 @@ class TokenTransactionEntityReferenceInputVo {
|
|
|
63
75
|
this.overrideTokenName = data.overrideTokenName;
|
|
64
76
|
this.overrideTokenDescription = data.overrideTokenDescription;
|
|
65
77
|
this.customAttributes = data.customAttributes;
|
|
78
|
+
this.dynamicContext = data.dynamicContext;
|
|
79
|
+
this.externalContext = data.externalContext;
|
|
66
80
|
this.engagedBusinessId = data.engagedBusinessId ?? null;
|
|
67
81
|
this.authorizedSubmitterId = data.authorizedSubmitterId ?? null;
|
|
68
82
|
this.authorizedSubmitterType = data.authorizedSubmitterType ?? null;
|
|
@@ -88,6 +102,8 @@ class TokenTransactionEntityReferenceInputVo {
|
|
|
88
102
|
overrideTokenName: this.overrideTokenName,
|
|
89
103
|
overrideTokenDescription: this.overrideTokenDescription,
|
|
90
104
|
customAttributes: this.customAttributes,
|
|
105
|
+
dynamicContext: this.dynamicContext,
|
|
106
|
+
externalContext: this.externalContext,
|
|
91
107
|
engagedBusinessId: this.engagedBusinessId,
|
|
92
108
|
authorizedSubmitterId: this.authorizedSubmitterId,
|
|
93
109
|
authorizedSubmitterType: this.authorizedSubmitterType
|
|
@@ -159,6 +175,16 @@ __decorate([
|
|
|
159
175
|
(0, class_validator_1.IsOptional)(),
|
|
160
176
|
__metadata("design:type", Object)
|
|
161
177
|
], TokenTransactionEntityReferenceInputVo.prototype, "customAttributes", void 0);
|
|
178
|
+
__decorate([
|
|
179
|
+
(0, class_validator_1.IsObject)(),
|
|
180
|
+
(0, class_validator_1.IsOptional)(),
|
|
181
|
+
__metadata("design:type", Object)
|
|
182
|
+
], TokenTransactionEntityReferenceInputVo.prototype, "dynamicContext", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
(0, class_validator_1.IsObject)(),
|
|
185
|
+
(0, class_validator_1.IsOptional)(),
|
|
186
|
+
__metadata("design:type", Object)
|
|
187
|
+
], TokenTransactionEntityReferenceInputVo.prototype, "externalContext", void 0);
|
|
162
188
|
__decorate([
|
|
163
189
|
(0, class_validator_1.IsString)(),
|
|
164
190
|
(0, class_validator_1.IsOptional)(),
|
package/dist/cjs/shared-lib/value-objects/token-transaction-entity-reference-input.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-transaction-entity-reference-input.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+G;AAC/G,yDAAyC;AAEzC,yEAAoE;AAEpE,+DAA0D;AAC1D,kCAA2C;
|
|
1
|
+
{"version":3,"file":"token-transaction-entity-reference-input.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-entity-reference-input.vo.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { Web3TransactionType } from '../enum/transaction-type.enum';
|
|
|
3
3
|
import { Address } from './address.value-object';
|
|
4
4
|
import { type ITokenTransactionInputData, type TxParticipant } from '../interfaces/token-transaction-input-data.interface';
|
|
5
5
|
import { type NativeTokenType } from '../types/native-token.type';
|
|
6
|
+
import type { DynamicContext } from '../interfaces/dynamic-context.interface';
|
|
6
7
|
export declare class TokenTransactionInputDataVo implements ITokenTransactionInputData {
|
|
7
8
|
transactionId: string | null;
|
|
8
9
|
readonly chainId: number;
|
|
@@ -23,6 +24,18 @@ export declare class TokenTransactionInputDataVo implements ITokenTransactionInp
|
|
|
23
24
|
readonly overrideTokenName?: string;
|
|
24
25
|
readonly overrideTokenDescription?: string;
|
|
25
26
|
readonly customAttributes?: Record<string, any>;
|
|
27
|
+
/**
|
|
28
|
+
* **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
|
|
29
|
+
* Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
|
|
30
|
+
* Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
|
|
31
|
+
*/
|
|
32
|
+
readonly dynamicContext?: DynamicContext;
|
|
33
|
+
/**
|
|
34
|
+
* **ERC721 only** - User-provided external context from claim request.
|
|
35
|
+
* Only applied if TokenMetadata.allowExternalContextOverwrite is true.
|
|
36
|
+
* Available in AI prompts as {{external.xxx}} when allowed.
|
|
37
|
+
*/
|
|
38
|
+
readonly externalContext?: DynamicContext;
|
|
26
39
|
/** Business commercially involved in this transaction (for stats/reporting) */
|
|
27
40
|
readonly engagedBusinessId: string | null;
|
|
28
41
|
constructor(data: ITokenTransactionInputData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-transaction-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-input.vo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAC3H,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"token-transaction-input.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-input.vo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAC3H,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E,qBAAa,2BAA4B,YAAW,0BAA0B;IAG5E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,SAEgB,OAAO,EAAE,MAAM,CAAC;IAEhC,SAIgB,oBAAoB,EAAE,OAAO,CAAC;IAE9C,SACgB,WAAW,EAAE,WAAW,CAAC;IAGzC,SAGgB,MAAM,EAAE,aAAa,CAAC;IAEtC,SAIgB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5C;;;OAGG;IAGI,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,SAEgB,MAAM,EAAE,MAAM,CAAC;IAE/B,SAEgB,IAAI,EAAE,mBAAmB,CAAC;IAC1C,SACgB,SAAS,EAAE,eAAe,CAAC;IAI3C,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;;;;OAIG;IACH,SAEgB,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhD;;;;OAIG;IACH,SAEgB,eAAe,CAAC,EAAE,cAAc,CAAC;IAEjD,+EAA+E;IAC/E,SAAgB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAErC,IAAI,EAAE,0BAA0B;CAkC7C"}
|
|
@@ -37,6 +37,18 @@ class TokenTransactionInputDataVo {
|
|
|
37
37
|
overrideTokenName;
|
|
38
38
|
overrideTokenDescription;
|
|
39
39
|
customAttributes;
|
|
40
|
+
/**
|
|
41
|
+
* **ERC721 only** - Admin-defined dynamic context from trigger source (QR code, NFC tag, etc.).
|
|
42
|
+
* Always applied to AI prompts as {{dynamic.xxx}} - trusted source.
|
|
43
|
+
* Also used for trigger-based validity (validityDate, validityEndDate, validityDuration).
|
|
44
|
+
*/
|
|
45
|
+
dynamicContext;
|
|
46
|
+
/**
|
|
47
|
+
* **ERC721 only** - User-provided external context from claim request.
|
|
48
|
+
* Only applied if TokenMetadata.allowExternalContextOverwrite is true.
|
|
49
|
+
* Available in AI prompts as {{external.xxx}} when allowed.
|
|
50
|
+
*/
|
|
51
|
+
externalContext;
|
|
40
52
|
/** Business commercially involved in this transaction (for stats/reporting) */
|
|
41
53
|
engagedBusinessId;
|
|
42
54
|
constructor(data) {
|
|
@@ -56,6 +68,8 @@ class TokenTransactionInputDataVo {
|
|
|
56
68
|
this.overrideTokenName = data.overrideTokenName;
|
|
57
69
|
this.overrideTokenDescription = data.overrideTokenDescription;
|
|
58
70
|
this.customAttributes = data.customAttributes;
|
|
71
|
+
this.dynamicContext = data.dynamicContext;
|
|
72
|
+
this.externalContext = data.externalContext;
|
|
59
73
|
this.engagedBusinessId = data.engagedBusinessId;
|
|
60
74
|
// Basic validation (can be enhanced with class-validator if this VO is used in DTOs that are validated)
|
|
61
75
|
if (this.amount <= 0 && this.type) {
|
|
@@ -152,4 +166,14 @@ __decorate([
|
|
|
152
166
|
(0, class_validator_1.IsOptional)(),
|
|
153
167
|
__metadata("design:type", Object)
|
|
154
168
|
], TokenTransactionInputDataVo.prototype, "customAttributes", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
(0, class_validator_1.IsObject)(),
|
|
171
|
+
(0, class_validator_1.IsOptional)(),
|
|
172
|
+
__metadata("design:type", Object)
|
|
173
|
+
], TokenTransactionInputDataVo.prototype, "dynamicContext", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
(0, class_validator_1.IsObject)(),
|
|
176
|
+
(0, class_validator_1.IsOptional)(),
|
|
177
|
+
__metadata("design:type", Object)
|
|
178
|
+
], TokenTransactionInputDataVo.prototype, "externalContext", void 0);
|
|
155
179
|
//# sourceMappingURL=token-transaction-input.vo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-transaction-input.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-input.vo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwH;AACxH,yDAAyC;AAEzC,yEAAoE;AACpE,iEAAiD;
|
|
1
|
+
{"version":3,"file":"token-transaction-input.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/token-transaction-input.vo.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type TokenValidityType } from '../../shared-lib/enum/token-validity-type.enum';
|
|
8
8
|
import { TokenStorageData } from '../../shared-lib/interfaces/token-storage-data.interface';
|
|
9
|
+
import type { DynamicContext } from '../../shared-lib/interfaces/dynamic-context.interface';
|
|
9
10
|
/**
|
|
10
11
|
* Checks if a token ID is a URI (IPFS or HTTP).
|
|
11
12
|
* Used for determining how to resolve token metadata.
|
|
@@ -18,12 +19,20 @@ export declare const checkIfTokenIdIsUri: (tokenId: string | null) => boolean;
|
|
|
18
19
|
* Computes the expiry date based on validity configuration.
|
|
19
20
|
*
|
|
20
21
|
* @param validityType - The type of validity calculation
|
|
21
|
-
* @param validityDuration - Duration in days or hours (for relative types)
|
|
22
|
+
* @param validityDuration - Duration in days or hours (for relative types) - can be overridden by triggerDuration
|
|
22
23
|
* @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
|
|
23
24
|
* @param issuanceDate - The date of issuance (defaults to now)
|
|
25
|
+
* @param triggerContext - Runtime context for trigger-based types:
|
|
26
|
+
* - triggerDate: Base date (e.g., check-in date) for TRIGGER_DATE, DAYS_FROM_TRIGGER
|
|
27
|
+
* - triggerEndDate: End date (e.g., check-out date) for TRIGGER_DATE_RANGE
|
|
28
|
+
* - triggerDuration: Dynamic duration override for DAYS_FROM_TRIGGER, HOURS_FROM_TRIGGER
|
|
24
29
|
* @returns The computed expiry date, or undefined if no validity is configured
|
|
25
30
|
*/
|
|
26
|
-
export declare const computeExpiryDate: (validityType?: TokenValidityType, validityDuration?: number, fixedExpiryDate?: Date, issuanceDate?: Date
|
|
31
|
+
export declare const computeExpiryDate: (validityType?: TokenValidityType, validityDuration?: number, fixedExpiryDate?: Date, issuanceDate?: Date, triggerContext?: {
|
|
32
|
+
triggerDate?: Date;
|
|
33
|
+
triggerEndDate?: Date;
|
|
34
|
+
triggerDuration?: number;
|
|
35
|
+
}) => Date | undefined;
|
|
27
36
|
/**
|
|
28
37
|
* Checks if a token has expired based on its expiry date.
|
|
29
38
|
*
|
|
@@ -69,4 +78,31 @@ export declare const extractTagsFromMetadata: (metadata: TokenStorageData | null
|
|
|
69
78
|
* extractBusinessIdsFromMetadata(metadata); // Returns ['uuid-1', 'uuid-2']
|
|
70
79
|
*/
|
|
71
80
|
export declare const extractBusinessIdsFromMetadata: (metadata: TokenStorageData | null) => string[];
|
|
81
|
+
/**
|
|
82
|
+
* Merges dynamic and external contexts with security enforcement.
|
|
83
|
+
* This is a DOMAIN RULE - enforces trust levels for context injection.
|
|
84
|
+
*
|
|
85
|
+
* Trust levels:
|
|
86
|
+
* - dynamicContext: Admin-controlled (QR/NFC) → ALWAYS applied
|
|
87
|
+
* - externalContext: User request → ONLY if allowExternalContextOverwrite=true
|
|
88
|
+
*
|
|
89
|
+
* This function should be used by any code that needs to merge contexts
|
|
90
|
+
* for ERC721 token generation, ensuring consistent security enforcement.
|
|
91
|
+
*
|
|
92
|
+
* @param allowExternalContextOverwrite - Whether user-provided external context is allowed (from TokenMetadata)
|
|
93
|
+
* @param dynamicContext - Admin-controlled context (always trusted)
|
|
94
|
+
* @param externalContext - User-provided context (requires explicit opt-in)
|
|
95
|
+
* @returns Merged context or undefined if empty
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* // Admin context only (user context not allowed)
|
|
99
|
+
* mergeContexts(false, { location: 'Lobby' }, { hack: 'attempt' })
|
|
100
|
+
* // Returns: { location: 'Lobby' }
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* // Both contexts merged (user context allowed)
|
|
104
|
+
* mergeContexts(true, { location: 'Lobby' }, { guestName: 'John' })
|
|
105
|
+
* // Returns: { location: 'Lobby', guestName: 'John' }
|
|
106
|
+
*/
|
|
107
|
+
export declare const mergeContexts: (allowExternalContextOverwrite: boolean, dynamicContext?: DynamicContext, externalContext?: DynamicContext) => DynamicContext | undefined;
|
|
72
108
|
//# sourceMappingURL=token-metadata.functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-metadata.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/token-metadata.functions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAkC,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"token-metadata.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/token-metadata.functions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAkC,MAAM,0DAA0D,CAAC;AAC5H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAE5F;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAM5D,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,eAAe,iBAAiB,EAChC,mBAAmB,MAAM,EACzB,kBAAkB,IAAI,EACtB,eAAc,IAAiB,EAC/B,iBAAiB;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KACA,IAAI,GAAG,SAuET,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,IAAI,GAAG,IAAI,EACxB,gBAAe,IAAiB,KAC/B,OAAO,GAAG,SAGZ,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,IAAI,GAAG,IAaxF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,MAAM,EAiBjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,MAAM,EAmBxF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,GACxB,+BAA+B,OAAO,EACtC,iBAAiB,cAAc,EAC/B,kBAAkB,cAAc,KAC/B,cAAc,GAAG,SAanB,CAAA"}
|