Skip to content

Latest commit

 

History

History

README.md

banner

StackExchange Discord Apache 2.0 license

IntroductionModulesDevelopment & TestingRelated LibrariesContributing


IOTA Audit Trails Move Package

Introduction

IotaAuditTrails is the on-chain Move package behind IOTA Audit Trails.

It defines the shared AuditTrail object and the supporting types needed for:

  • sequential record storage
  • role-based access control through capabilities
  • trail-wide locking for writes and deletions
  • record tags and role tag restrictions
  • immutable and updatable trail metadata
  • emitted events for trail and record lifecycle changes

The package depends on TfComponents for reusable capability, role-map, and timelock primitives.

Modules

  • audit_trails::main Core shared object, events, trail lifecycle, record mutation, metadata updates, roles, and capabilities.
  • audit_trails::record Record payloads, initial records, and correction metadata.
  • audit_trails::locking Locking configuration and lock evaluation helpers.
  • audit_trails::permission Permission constructors and admin permission presets.
  • audit_trails::record_tags Tag registry and role tag helpers.

Development And Testing

Build the Move package:

cd audit-trail-move
iota move build

Run the Move test suite:

cd audit-trail-move
iota move test

Publish locally:

cd audit-trail-move
./scripts/publish_package.sh

The publish script prints IOTA_AUDIT_TRAIL_PKG_ID and, on localnet, also exports IOTA_TF_COMPONENTS_PKG_ID.

The package history files Move.lock and Move.history.json are used by the Rust crate to resolve and track deployed package versions.

Related Libraries

Contributing

We would love to have you help us with the development of IOTA Audit Trails. Each and every contribution is greatly valued.

Please review the contribution sections in the IOTA Docs Portal.

To contribute directly to the repository, simply fork the project, push your changes to your fork and create a pull request to get them included.

The best place to get involved in discussions about this package or to look for support at is the #notarization channel on the IOTA Discord. You can also ask questions on our Stack Exchange.