Feature description
Technical Decision Questions
Based on the documentation and best practices, here are the technical decisions formatted as GitHub issues with checklists:
Issue #1: Use Milliseconds Instead of Seconds for Lock Timestamps
Description
The valid_until, valid_from, LockedUntil() TimeLock variants are currently using u64 with seconds. We should evaluate switching to milliseconds to be compatible with the clock::timestamp_ms() function.
Recommendation
Yes, use milliseconds - This ensures native compatibility with IOTA's clock::timestamp_ms() and avoids conversion overhead/errors.
Issue #2: Collection Type for issued_capabilities
Description
Determine the appropriate collection type for issued_capabilities which currently uses VecSet<ID> (vector-based).
Issue #3: Use new() Instead of create() for Constructor Functions
Description
Per IOTA conventions, the recommended naming convention for constructor functions is new() rather than create().
Issue #4: Version Specifier for Shared Objects
Description
Evaluate the need for a version field in shared objects as recommended in the Managing Package Upgrades documentation.
Recommendation
Yes, add version specifier - Essential for safe package upgrades and access control, even though struct definitions cannot change.
Motivation
N/A
Requirements
N/A
Open questions
No response
Are you planning to do it yourself in a pull request?
Yes
Feature description
Technical Decision Questions
Based on the documentation and best practices, here are the technical decisions formatted as GitHub issues with checklists:
Issue #1: Use Milliseconds Instead of Seconds for Lock Timestamps
Description
The
valid_until,valid_from,LockedUntil()TimeLock variants are currently usingu64with seconds. We should evaluate switching to milliseconds to be compatible with theclock::timestamp_ms()function.Recommendation
Yes, use milliseconds - This ensures native compatibility with IOTA's
clock::timestamp_ms()and avoids conversion overhead/errors.Issue #2: Collection Type for
issued_capabilitiesDescription
Determine the appropriate collection type for
issued_capabilitieswhich currently usesVecSet<ID>(vector-based).Issue #3: Use
new()Instead ofcreate()for Constructor FunctionsDescription
Per IOTA conventions, the recommended naming convention for constructor functions is
new()rather thancreate().Issue #4: Version Specifier for Shared Objects
Description
Evaluate the need for a
versionfield in shared objects as recommended in the Managing Package Upgrades documentation.Recommendation
Yes, add version specifier - Essential for safe package upgrades and access control, even though struct definitions cannot change.
Motivation
N/A
Requirements
N/A
Open questions
No response
Are you planning to do it yourself in a pull request?
Yes