Skip to content

[Request]: AT: Technical Considerations #183

@itsyaasir

Description

@itsyaasir

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

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Product Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions