Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
d894813
fix: enhance documentation clarity in new_metadata function
itsyaasir Jan 13, 2026
08966a0
refactor: update TrailImmutableMetadata structure and related functio…
itsyaasir Jan 14, 2026
06fac21
refactor: enhance documentation and add role management tests
itsyaasir Jan 14, 2026
446eb4e
Merge pull request #176 from iotaledger/chore/add-events-audit-trails
itsyaasir Jan 14, 2026
1b3ed35
Merge branch 'feat/audit-trails-dev' into chore/make-immutable-md-opt…
itsyaasir Jan 14, 2026
622190b
Merge pull request #178 from iotaledger/chore/make-immutable-md-optional
itsyaasir Jan 14, 2026
a2c8023
fix: add error handling for existing roles in role management functions
itsyaasir Jan 15, 2026
a4491b1
refactor: rename record_count to sequence_number for clarity and upda…
itsyaasir Jan 15, 2026
650acfe
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-dev-caps-…
chrisgitiota Jan 15, 2026
84e4e82
All existing tests migrated to the latest RoleMap interface
chrisgitiota Jan 16, 2026
fbd271a
Merge branch 'main' into feat/audit-trails-dev-caps-extended
chrisgitiota Jan 16, 2026
cce0159
Removed superfluous "public use fun" statements and function prefixes
chrisgitiota Jan 16, 2026
4afb700
Merge pull request #174 from iotaledger/feat/audit-trails-dev-caps-ex…
chrisgitiota Jan 16, 2026
af3ec03
Merge branch 'feat/audit-trails-dev' into chore/audit-trails-bugs
itsyaasir Jan 16, 2026
0e851cf
chore: Disable the `abort_without_constant` lint for all test modules.
itsyaasir Jan 20, 2026
3968c63
Merge pull request #179 from iotaledger/chore/audit-trails-bugs
itsyaasir Jan 22, 2026
3704f30
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Jan 22, 2026
bc904b6
feat: Add package versioning and migration support to audit trail
itsyaasir Jan 27, 2026
6ff5403
refactor: Rename package_version to version in AuditTrail struct and …
itsyaasir Jan 28, 2026
c6f1709
feat: Introduce record correction tracking in audit trail
itsyaasir Jan 30, 2026
eb72d6c
Merge pull request #189 from iotaledger/feat/audit-trials/package-upg…
itsyaasir Feb 2, 2026
891a13d
Merge branch 'feat/audit-trails-dev' into feat/correction-records
itsyaasir Feb 2, 2026
b6f355d
refactor: Simplify documentation comments in Record module
itsyaasir Feb 2, 2026
cc62a4c
feat: Scaffold audit trail module with client and package management
itsyaasir Feb 3, 2026
1f2e81f
Merge branch 'main' into feat/audit-trails-dev
chrisgitiota Feb 3, 2026
2ee0843
Merge branch 'feat/audit-trails-dev' into feat/correction-records
itsyaasir Feb 4, 2026
d8eec9d
Merge branch 'feat/audit-trails-dev' into feat/audit-trail-rs-scaffold
chrisgitiota Feb 4, 2026
63d94f9
feat: Implement core types and structures for audit trail functionality
itsyaasir Feb 4, 2026
5a63bb1
Merge pull request #191 from iotaledger/feat/correction-records
itsyaasir Feb 5, 2026
fe3656c
feat: Rename package name from "audit-trails" to "audit_trails"
itsyaasir Feb 5, 2026
0751134
Merge branch 'feat/audit-trails-dev' into feat/audit-trail-rs-scaffold
itsyaasir Feb 5, 2026
398b515
feat: Change 'replaces' field type from Vec to HashSet in RecordCorre…
itsyaasir Feb 5, 2026
a6cadda
Feat: Audit Trail uses RoleMap and Capability from product-core (#184)
chrisgitiota Feb 5, 2026
4aea04e
feat: Implement audit trail metadata update and migration operations
itsyaasir Feb 6, 2026
b58f170
refactor: Simplify function signatures in client and handler modules
itsyaasir Feb 9, 2026
c15cdfc
feat: Enhance AuditTrailClient with new identity client creation and …
itsyaasir Feb 9, 2026
871a132
refactor: Update AuditTrailBuilder and related structures for default…
itsyaasir Feb 9, 2026
4470f60
Merge branch 'feat/audit-trails-dev' into feat/audit-trail-rs-scaffold
itsyaasir Feb 9, 2026
d77519b
refactor: Restructure audit trail core modules and update imports
itsyaasir Feb 9, 2026
c04039f
refactor: Update import paths and introduce new trail module
itsyaasir Feb 9, 2026
464378a
refactor: Consolidate utility functions and update audit trail struct…
itsyaasir Feb 9, 2026
0f1c81b
refactor: Rename create_trail_tx to create_trail and streamline relat…
itsyaasir Feb 9, 2026
c44e69c
Refactor audit trail creation and record management
itsyaasir Feb 10, 2026
1059f7b
Implement role management operations and associated events in the aud…
itsyaasir Feb 16, 2026
3a750e8
feat: add destroy and revoke functionality for initial admin capabili…
itsyaasir Feb 16, 2026
8330752
refactor: remove metadata module and related tests; introduce operati…
itsyaasir Feb 16, 2026
cb0396c
Refactor transaction builders and operations for records and roles
itsyaasir Feb 16, 2026
bea9bae
Refactor role and permission handling in audit trail
itsyaasir Feb 17, 2026
4439e80
feat: implement migration functionality and refactor related components
itsyaasir Feb 18, 2026
92f2adc
feat: implement audit trail migration functionality and refactor lock…
itsyaasir Feb 19, 2026
dcb7d7f
feat: add batch deletion of records and permission management
itsyaasir Feb 19, 2026
93897ce
Merge branch 'feat/audit-trail-rs-scaffold' of github.com:iotaledger/…
chrisgitiota Feb 20, 2026
5f4fcfe
feat: Enhance locking mechanism with TimeLock support
itsyaasir Feb 27, 2026
0bda0c0
feat: Refactor capability validation method to assert_capability_valid
itsyaasir Mar 3, 2026
0b92660
Update dependencies and refactor event handling in audit trail
itsyaasir Mar 3, 2026
bf12e8a
feat: Clean up unused imports and improve move_type implementation in…
itsyaasir Mar 3, 2026
3a69350
Merge branch 'feat/audit-trail-rs-scaffold' into feat/delete-and-writ…
itsyaasir Mar 3, 2026
faae6a4
Merge pull request #193 from iotaledger/feat/audit-trail-rs-scaffold
itsyaasir Mar 3, 2026
6d86386
Merge branch 'feat/audit-trails-dev' into feat/delete-and-write-prote…
itsyaasir Mar 3, 2026
9d71ab5
Merge pull request #205 from iotaledger/feat/delete-and-write-protection
itsyaasir Mar 3, 2026
79d6b03
Merge branch 'main' into feat/audit-trails-dev
chrisgitiota Mar 5, 2026
ce4ea23
Use TfComponents from product-core "feat/tf-compoenents-dev" branch
chrisgitiota Mar 5, 2026
76db05b
feat(audit_trails_wasm): implement WASM bindings for audit trails
itsyaasir Mar 9, 2026
50ac7b7
Update audit-trail-move to be compilable and testable with generic ro…
chrisgitiota Mar 9, 2026
ade9736
Update Move.lock and audit_trail.move for version consistency and dep…
itsyaasir Mar 11, 2026
cd62491
feat: record tags
itsyaasir Mar 11, 2026
d761da1
Refactor record tag management in audit trail
itsyaasir Mar 16, 2026
859ecba
chore: clean up audit tags
itsyaasir Mar 16, 2026
9790d55
chore: refactor roles to access
itsyaasir Mar 16, 2026
2c85939
Merge pull request #215 from iotaledger/feat/rename-roles
itsyaasir Mar 17, 2026
7c20e14
Merge branch 'feat/audit-trails-dev' into feat/record-tags
itsyaasir Mar 17, 2026
150cf7d
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-wasm
itsyaasir Mar 17, 2026
366c978
Align audit trail WASM bindings with Rust API
itsyaasir Mar 17, 2026
2a7a755
chore: remove drift of the wasm data
itsyaasir Mar 17, 2026
8dbe1d4
fix record tag sdk wiring and clippy issues
itsyaasir Mar 18, 2026
186e1c3
chore: fix fmt issues
itsyaasir Mar 18, 2026
d083df8
chore: allow unused tag deletion
itsyaasir Mar 18, 2026
2c7e564
chore: fix records tags, refactor and cleanup code
itsyaasir Mar 18, 2026
a476e51
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Mar 18, 2026
3652e2c
chore: bump up deps
itsyaasir Mar 18, 2026
43c497e
Merge branch 'feat/audit-trails-dev' into feat/record-tags
itsyaasir Mar 18, 2026
261a68a
chore: type import fixes
itsyaasir Mar 18, 2026
97174f1
chore: add initial record refactor
itsyaasir Mar 19, 2026
b722553
Implement flexible record data for audit trails
itsyaasir Mar 19, 2026
12e1201
Allow creating empty Data trails
itsyaasir Mar 19, 2026
0daa157
Feat: Audit Trails using `revoked_capabilities` (#216)
chrisgitiota Mar 19, 2026
fafd749
Several renamings in `record_tags.move` (#223)
chrisgitiota Mar 19, 2026
e3c7a75
Merge branch 'feat/audit-trails-dev' into feat/record-tags
chrisgitiota Mar 19, 2026
0437f1a
First part of needed changes to use the latest record_tags.move version
chrisgitiota Mar 19, 2026
7e9f4bf
Move sources are compilable now - some of the tests are failing though
chrisgitiota Mar 20, 2026
8b8db89
Fixed issue "is_in_use() is inverted" and removed several warnings
chrisgitiota Mar 23, 2026
49817ae
Renamed fun args `record_tags` to `role_tags` for `create_role` and `…
chrisgitiota Mar 23, 2026
ce40f72
Merge pull request #228 from iotaledger/feat/record-tags-using-latest…
itsyaasir Mar 24, 2026
35845ff
Merge pull request #227 from iotaledger/feat/support-explicit-record-…
itsyaasir Mar 24, 2026
b81d8a3
Update audit-trail-move/sources/audit_trail.move
itsyaasir Mar 24, 2026
7f3972b
Merge pull request #214 from iotaledger/feat/record-tags
itsyaasir Mar 24, 2026
fa347a7
Merge branch 'feat/audit-trails-dev' into feat/use-enum-data-for-at
itsyaasir Mar 24, 2026
b7a4968
Update TfComponents dependency and fix Move tests
itsyaasir Mar 24, 2026
3c8082c
Compact initial record setup formatting
itsyaasir Mar 24, 2026
31aa722
Merge pull request #225 from iotaledger/feat/use-enum-data-for-at
itsyaasir Mar 24, 2026
d27d2c4
chore: use tf components
itsyaasir Mar 24, 2026
4e9bb53
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-wasm
itsyaasir Mar 25, 2026
9ec87bc
chore: feature parity with rust library; add record tags to wasm
itsyaasir Mar 25, 2026
0d5c020
chore: update the rust library to be upto par with contract
itsyaasir Mar 25, 2026
16ac6d4
remove validated scope from OperationCap
qrayven Mar 26, 2026
d019ead
feat: support tf components package overrides
itsyaasir Mar 26, 2026
bdbc38d
Merge branch 'feat/audit-trails-dev' into feat/tf-components-package
itsyaasir Mar 26, 2026
b31c8dd
chore: clippy and fmt fixes
itsyaasir Mar 27, 2026
7a64101
refactor: decode role events from bcs
itsyaasir Mar 27, 2026
3b33729
Merge pull request #231 from iotaledger/feat/tf-components-package
itsyaasir Mar 27, 2026
1a678ec
chore: update branch rev
itsyaasir Mar 27, 2026
898ccf1
chore: fmt
itsyaasir Mar 27, 2026
bfbd118
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-wasm
itsyaasir Mar 27, 2026
65be9e6
Merge pull request #211 from iotaledger/feat/audit-trails-wasm
itsyaasir Mar 27, 2026
5356c24
Align audit trails WASM and TfComponents package IDs
itsyaasir Mar 27, 2026
92f6111
Clean up WASM docs and example formatting
itsyaasir Mar 27, 2026
efa504e
Fix audit trails wasm examples
itsyaasir Mar 30, 2026
b54f88b
chore: fmt and dprint fixes
itsyaasir Mar 30, 2026
ab94ddc
Rename `trails` to `trail`
chrisgitiota Mar 30, 2026
72b9698
Rename `audit_trails_wasm` folder to `audit_trail_wasm`
chrisgitiota Mar 30, 2026
2b19f11
Rename audit trail move package from `audit_trail`to `IotaAuditTrail`
chrisgitiota Mar 30, 2026
d01cdb6
Merge pull request #235 from iotaledger/feat/audit-trails-dev-rename-…
itsyaasir Mar 30, 2026
c223860
chore: deploy audit trail to testnet
itsyaasir Mar 30, 2026
9ae6af5
chore: use git instead of local dep
itsyaasir Mar 30, 2026
4e47496
fix audit trail initial tag usage accounting
itsyaasir Mar 31, 2026
5402fde
Merge branch 'main' into feat/audit-trails-dev
chrisgitiota Mar 31, 2026
690f236
fix capability selection and clean up core internals
itsyaasir Mar 31, 2026
ccf1200
fix audit trail data model and empty create
itsyaasir Mar 31, 2026
132e39c
Merge branch 'feat/audit-trails-dev' into chore/audit-trails-fixes
itsyaasir Mar 31, 2026
7fe1e8b
fix dynamic field pagination lookup
itsyaasir Apr 1, 2026
717241f
chore: clean up audit trail formatting
itsyaasir Apr 1, 2026
0001163
fix notarization wasm core client parity
itsyaasir Apr 1, 2026
0dafc06
Merge pull request #237 from iotaledger/chore/audit-trails-fixes
itsyaasir Apr 1, 2026
2f3595c
chore: extend CI/CD workflows to support audit trails
itsyaasir Apr 1, 2026
d75ce2c
fix: replace iota start with iota-localnet start
itsyaasir Apr 1, 2026
466ebdc
Add .history to git ignore
chrisgitiota Mar 31, 2026
fc98670
docs: improve notarization and audit trail docs
itsyaasir Apr 1, 2026
fe9a5c6
docs: polish readme formatting
itsyaasir Apr 1, 2026
6d205b9
Move Notarization examples into subfolder
chrisgitiota Apr 1, 2026
4dc54fc
New CLAUDE.md file
chrisgitiota Apr 1, 2026
8b268a1
docs: document audit trail internal helpers
itsyaasir Apr 2, 2026
7ad2657
docs: refine crate documentation
itsyaasir Apr 2, 2026
a32c13d
Initial AT example and enhanced docs
chrisgitiota Apr 2, 2026
7a62e53
test: expand audit trail access coverage
itsyaasir Apr 2, 2026
5cf23d6
Readme file explaing the RoleMap concept usefull for later wiki docs
chrisgitiota Apr 2, 2026
1d484bd
fix: enforce tag access checks on record deletion
itsyaasir Apr 2, 2026
f619e8d
test: add tagged delete authorization regressions
itsyaasir Apr 2, 2026
1f9439e
test: move audit trail CRUD coverage to record suite
itsyaasir Apr 2, 2026
9de456e
refactor: inline audit trail tag access checks
itsyaasir Apr 2, 2026
58960dd
test: extend audit trail coverage
itsyaasir Apr 2, 2026
86d28e6
style: format record tests
itsyaasir Apr 2, 2026
59c47bb
test: fix tagged batch delete expectation
itsyaasir Apr 2, 2026
5218467
Merge pull request #241 from iotaledger/fix/audit-trail-tagged-delete…
itsyaasir Apr 7, 2026
1a38dc3
Merge branch 'feat/audit-trails-dev' into feat/docs
itsyaasir Apr 7, 2026
4b9f076
docs: tighten audit trail core docs
itsyaasir Apr 7, 2026
22322dc
refactor: simplify audit trail package overrides
itsyaasir Apr 7, 2026
3eca854
fix: align audit trail wasm package overrides
itsyaasir Apr 7, 2026
47734a1
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-dev-examp…
itsyaasir Apr 7, 2026
8dc1b25
Some detail fixes
chrisgitiota Apr 7, 2026
2823dc1
Extended `Capability Validation Rules` and `Managing Revoked Capabili…
chrisgitiota Apr 7, 2026
7d8684b
Merge remote-tracking branch 'origin/feat/audit-trails-dev-examples-a…
chrisgitiota Apr 7, 2026
4a049f7
Reviewed and fixed extended `Capability Validation Rules` and `Managi…
chrisgitiota Apr 7, 2026
317a43e
examples: expand audit trail walkthroughs
itsyaasir Apr 8, 2026
60715a7
feat: add audit trail wasm examples and browser tests
itsyaasir Apr 8, 2026
cd093b1
docs: refine audit trail examples and guides
itsyaasir Apr 8, 2026
ed5a5af
fix: address audit trail wasm review issues
itsyaasir Apr 8, 2026
09c617a
fix: update audit trail wasm browser setup
itsyaasir Apr 9, 2026
090d313
fix: polish audit trail browser examples
itsyaasir Apr 9, 2026
7250ca7
feat: add explicit audit trail capability selection
itsyaasir Apr 9, 2026
d439de6
fix: address PR review — multi-actor examples and doc polish
itsyaasir Apr 10, 2026
8b3a92b
feat: apply multi-actor pattern to all TypeScript WASM audit trail ex…
itsyaasir Apr 10, 2026
032b46a
style: reformat doc comments and method chains in audit trail examples
itsyaasir Apr 10, 2026
d8747f3
Merge branch 'feat/audit-trails-dev-examples-and-docs' into feat/audi…
itsyaasir Apr 10, 2026
c533193
fix: use cfg-gated now_ms() helper for WASM-compatible timestamp in c…
itsyaasir Apr 10, 2026
4f4c940
refactor: inline accessor variables ALAP in 05_manage_access examples
itsyaasir Apr 10, 2026
fe5a94e
fix: issue disposable capability to admin for destroyCapability demo
itsyaasir Apr 10, 2026
24c31a2
chore: fmt &type fix
itsyaasir Apr 10, 2026
3a64d0e
fix: use Web Crypto API for SHA-256 in customs clearance example
itsyaasir Apr 10, 2026
29653e7
Merge pull request #244 from iotaledger/feat/audit-trail-explicit-cap…
itsyaasir Apr 10, 2026
a49de71
Merge pull request #242 from iotaledger/feat/audit-trails-dev-example…
itsyaasir Apr 13, 2026
1d98709
Merge branch 'feat/audit-trails-dev' into feat/docs
itsyaasir Apr 13, 2026
07fcbf6
Fix post-merge audit trail test fallout
itsyaasir Apr 13, 2026
fa72a44
Merge pull request #239 from iotaledger/feat/docs
itsyaasir Apr 13, 2026
d44aab0
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Apr 13, 2026
5501a69
Remove unnecessary store ability from AuditTrail struct
itsyaasir Apr 14, 2026
18217b0
Merge pull request #246 from iotaledger/fix/audit-trail-struct-abilities
itsyaasir Apr 14, 2026
aed0de7
chore: remove duplicate keyword
itsyaasir Apr 20, 2026
e5a47b5
chore: add DPP examples
itsyaasir Apr 20, 2026
c7686e4
chore: drop move metadata drift
itsyaasir Apr 20, 2026
4a36adf
chore: polish DPP example docs
itsyaasir Apr 20, 2026
e9d04bf
Merge pull request #247 from iotaledger/chore/add-dpp-example
itsyaasir Apr 21, 2026
142b9ab
chore: enhance audit trail API with return values for capabilities an…
itsyaasir Apr 22, 2026
c46f47e
Merge branch 'feat/audit-trails-dev' into chore/add-return-values-for-at
itsyaasir Apr 22, 2026
34190c6
Optimize get_funded_audit_trail_client() code to be referenced in docs
chrisgitiota Apr 22, 2026
923721e
Merge branch 'feat/audit-trails-dev' into chore/add-return-values-for-at
itsyaasir Apr 23, 2026
b704131
chore: clarify example actor terminology across audit trail docs and
itsyaasir Apr 28, 2026
31ac5ea
Merge pull request #251 from iotaledger/chore/update-variable-naming-…
itsyaasir Apr 28, 2026
eefbfd0
refactor: update batch delete functionality to skip locked records an…
itsyaasir Apr 29, 2026
59c98de
Simplify TfComponents package resolution
itsyaasir Apr 29, 2026
780138f
Merge pull request #252 from iotaledger/fix/fix-batch-delete-records
itsyaasir Apr 29, 2026
a5cc424
Merge branch 'feat/audit-trails-dev' into chore/fix-tf-package-id-res…
itsyaasir Apr 29, 2026
962008e
Merge branch 'feat/audit-trails-dev' into chore/add-return-values-for-at
itsyaasir Apr 29, 2026
e9bd6bf
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Apr 29, 2026
7f0e156
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Apr 29, 2026
090c98f
Merge branch 'feat/audit-trails-dev' into chore/add-return-values-for-at
itsyaasir Apr 29, 2026
ccb50d0
Merge branch 'feat/audit-trails-dev' into chore/fix-tf-package-id-res…
itsyaasir Apr 29, 2026
6d0ae18
chore: Refactor type imports for improved readability in trail and ty…
itsyaasir Apr 30, 2026
6e879f6
chore: Simplify import statements in audit_trail.move for better read…
itsyaasir Apr 30, 2026
951312c
docs: add missing audit trail TS snippets
itsyaasir Apr 30, 2026
4d6a6ff
Merge branch 'feat/audit-trails-dev' into chore/fix-tf-package-id-res…
itsyaasir Apr 30, 2026
1f13c12
Merge pull request #253 from iotaledger/chore/fix-tf-package-id-resolver
itsyaasir Apr 30, 2026
49a7f58
Merge branch 'feat/audit-trails-dev' into chore/add-return-values-for-at
itsyaasir Apr 30, 2026
0b7efbd
docs: update README files for IOTA Notarization Suite and add new ban…
itsyaasir May 1, 2026
9e64fb4
docs: update title in README for clarity
itsyaasir May 1, 2026
d7ff478
Merge pull request #248 from iotaledger/chore/add-return-values-for-at
itsyaasir May 1, 2026
ec1c3da
Merge branch 'feat/audit-trails-dev' into chore/update-readme
itsyaasir May 1, 2026
1951bec
Merge pull request #255 from iotaledger/chore/update-readme
itsyaasir May 1, 2026
1fe4a92
Fix Markdown table alignment in README
itsyaasir May 1, 2026
fbd1942
Skip unauthorized tagged records in batch deletes
itsyaasir May 5, 2026
86dd523
Refactor conditional formatting for record tag validation in batch de…
itsyaasir May 5, 2026
88102a0
Merge pull request #256 from iotaledger/chore/skip-for-invalid-record…
itsyaasir May 8, 2026
343470d
Refactor audit-trail record deletion helpers
itsyaasir May 8, 2026
47b3167
Merge pull request #259 from iotaledger/chore/address-pr-256-review-c…
itsyaasir May 8, 2026
1994b2f
Merge branch 'main' into feat/audit-trails-dev
chrisgitiota May 12, 2026
c2afb5c
Fix missing secret-storage dep due to latest upstream branch merges
chrisgitiota May 12, 2026
adaf45a
feat: Add migration permission to admin permissions and corresponding…
itsyaasir May 14, 2026
2457853
feat: Implement count-based locking for record deletion and update re…
itsyaasir May 18, 2026
0e6e7b8
fix: Correct indentation in is_record_locked function for improved re…
itsyaasir May 18, 2026
6bcc990
Add product selector to docs upload workflow
itsyaasir May 18, 2026
97c1cb8
Fix aws upload URL for audit-trail-wasm
chrisgitiota May 18, 2026
1719a07
Merge branch 'feat/audit-trails-dev' into chore/security-audit
itsyaasir May 19, 2026
73ee281
Merge branch 'feat/audit-trails-dev' into chore/fix-upload-ci-workflow
itsyaasir May 19, 2026
76b8c33
Merge pull request #262 from iotaledger/chore/fix-upload-ci-workflow
itsyaasir May 19, 2026
21c0199
Merge branch 'feat/audit-trails-dev' into chore/security-audit
itsyaasir May 19, 2026
901dae0
Rewrite of `delete_records_batch` and `is_record_locked` functions (#…
chrisgitiota May 21, 2026
760c7df
Fix fmt issues
chrisgitiota May 21, 2026
9e782b1
Fix prettier-move issues
chrisgitiota May 21, 2026
1871a78
Fix clippy issues
chrisgitiota May 21, 2026
5709483
Merge pull request #261 from iotaledger/chore/security-audit
itsyaasir May 22, 2026
62bb6af
Aligned Move, Rust and TypeScript documentation for Audit Trail and N…
chrisgitiota May 28, 2026
dd20d6b
Minor wording fix
chrisgitiota May 29, 2026
251013c
Merge branch 'main' into feat/audit-trails-dev
chrisgitiota May 29, 2026
24380ae
Fix some IOTA 1.23.2 migration issues
chrisgitiota May 29, 2026
06b53bc
refactor: update identifiers and method calls for consistency across …
itsyaasir May 29, 2026
2027016
chore: update iota_interaction dependencies to version v0.8.19 and fo…
itsyaasir Jun 1, 2026
bdef14c
refactor: simplify dependency feature lists in Cargo.toml files for c…
itsyaasir Jun 1, 2026
4c5b147
chore: update TfComponents dependency to version v0.8.19 in Move.toml
itsyaasir Jun 1, 2026
b55db51
Enhanced permission set docs (#269)
chrisgitiota Jun 2, 2026
0931eda
New product name "Audit Trails" (#267)
chrisgitiota Jun 2, 2026
8ac2747
Lists of events in the docs of WasmPermissionSet constructors formate…
chrisgitiota Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[alias]
docs-notarization = "doc -p notarization"
docs-audit-trail = "doc -p audit_trails"
222 changes: 222 additions & 0 deletions .claude/skills/init-api-mapping/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
---
name: init-api-mapping
description: Create an initial `api_mapping.toml` for a new IOTA Trust Framework product, then delegate to the `update-api-mapping` skill to populate it with all currently public Move/Rust/WASM entities.
---

# Bootstrap a product's `api_mapping.toml`

## Purpose

A new IOTA Trust Framework product (or a product whose Move/Rust/WASM code
already exists but has never had an API mapping committed) needs a starting
`api_mapping.toml` placed in the Move package root. This skill scaffolds that
file with the standard header and conventions, then hands off to the
`update-api-mapping` skill to fill in every section by diffing against the
empty tree — i.e. treating _every_ current public Move/Rust/WASM entity as
"newly added".

The actual extraction, naming, and reconciliation logic lives in
`update-api-mapping`. This skill exists only to:

1. Establish the file at the right path with the right header.
2. Invoke `update-api-mapping` with the right inputs so the bootstrap pass
reconciles "nothing" against "everything currently in `HEAD`".
3. Hand a populated, verified TOML back to the user.

## When to invoke this skill

- The user says "create an api_mapping for `<product>`", "bootstrap the api
mapping", "we need an `api_mapping.toml` for the new `<product>` crate",
or similar.
- A product directory has Move/Rust/WASM code but no `api_mapping.toml`
alongside the Move package.
- The user explicitly invokes `/init-api-mapping`.

Do **not** invoke this skill when an `api_mapping.toml` already exists at
the target location — use `update-api-mapping` instead. If one exists and
the user really wants to recreate it, confirm first that they want the
existing file overwritten before proceeding.

## Required inputs

The caller (user or invoking agent) **must** provide all of the following.
If any are missing, try to guess them from the user's current working
directory or from the product name they mentioned, and present the guesses
back for validation. Do not pick defaults silently.

1. **`rust-crate-path`** — path to the `src` folder of the product's Rust
implementation (e.g. `audit-trail-rs/src`, `notarization-rs/src`).
2. **`wasm-bindings-path`** — path to the `src` folder of the product's
WASM bindings (typically `bindings/wasm/<product-name>_wasm/src`).
3. **`move-sc-path`** — path to the `sources` folder of the product's Move
smart contracts (e.g. `audit-trail-move/sources`).

Try to guess the correct values for the `rust-crate-path`, `wasm-bindings-path`
and `move-sc-path` depending on the folder the user currently works in or if the
user mentions the product name. Present the input argument values to the user for
validation.

### Derived values

- **`api-mapping-path`** — `<move-sc-path>/../api_mapping.toml`. This is
where the new file will be created.
- **`product`** — the product identifier, derived from the basename of
the Move package directory (parent of `move-sc-path`) with any trailing
`-move` stripped and `-` replaced by `_`. Examples:
- `audit-trail-move/sources` → `audit_trail`
- `notarization-move/sources` → `notarization`
- **`product-display`** — a human-readable form for the file's title
comment (e.g. `Audit Trail`, `Notarization`). Derive by title-casing
the package basename with `-move` stripped and `-` → space; confirm
with the user if uncertain.

## Workflow

1. **Validate inputs.** Confirm:
- All three paths exist.
- `<move-sc-path>` actually contains `*.move` files.
- `<api-mapping-path>` does **not** already exist. If it does, stop
and tell the user to use `update-api-mapping` instead (or ask
whether they want to overwrite — never overwrite silently).

2. **Identify the Move package's "main" file.** List `*.move` files in
`<move-sc-path>` and identify the one whose basename matches the
product identifier (with any underscore/dash normalisation needed).
That file's entities will go under the `<product>.main.*` keys; all
others use their bare filename. If no file matches the product name,
ask the user which file should be considered "main" (or whether the
convention should be relaxed for this product).

3. **Create the scaffold TOML.** Write `<api-mapping-path>` with this
exact header and one banner per Move source file (in source order),
leaving each module body empty for the next step to populate:

```toml
# <product-display> API Mapping
#
# Maps each public Move function or struct in the `<move-sc-path>/`
# modules to the related Rust entities in `<rust-crate-path>/` and
# WASM/TS entities in `<wasm-bindings-path>/`.
#
# TOML section keys are formed as `<product>.<module>.<entity>`:
# - `<product>` — the product identifier, derived from the basename
# of the Move package directory with any trailing `-move` stripped
# and `-` replaced by `_`. For this file: `<product>`.
# - `<module>` — `main` for the Move source file whose basename
# matches the product name (`<product>.move` → `main`); for any
# other Move source file, the bare filename without extension.
# - `<entity>` — the function name or struct/enum/const name in
# that module.
#
# `rust` and `wasm` arrays list the Rust- resp. WASM-level functions,
# methods, and types that wrap, build, or otherwise correspond to the
# Move entity. Entry conventions:
# - `Type::method` — an inherent method on `Type`
# - `Type::Variant` — an enum variant
# - `Type` — a plain type/struct/enum
# - `Type.field` — a struct field
# - `module::function` — a free function
#
# An entry of `[]` means there is intentionally no counterpart on
# that side.
#
# This mapping is intended for automatic comparison of function and
# struct documentation across the three implementation layers, and is
# maintained via the `update-api-mapping` and `sync-product-docs`
# skills under `.claude/skills/`.

# =============================================================================
# Module: <product>::main (<move-sc-path>/<product>.move)
# =============================================================================

# =============================================================================
# Module: <product>::<other_module> (<move-sc-path>/<other_module>.move)
# =============================================================================
```

Substitute the placeholders (`<product>`, `<product-display>`,
`<move-sc-path>`, `<rust-crate-path>`, `<wasm-bindings-path>`) with
the actual values. Emit one banner per `.move` file, in the order
they appear in `<move-sc-path>` (alphabetical, with the `main` file
first).

4. **Bootstrap the contents via `update-api-mapping`.** Invoke the
`update-api-mapping` skill with:

- `rust-crate-path`, `wasm-bindings-path`, `move-sc-path` — the same
values supplied to this skill.
- **base revision** = the git empty-tree SHA
`4b825dc642cb6eb9a060e54bf8d69288fbee4904`. Diffing against this
SHA causes every public Move/Rust/WASM entity in the working tree
to be reported as "added", which is exactly what bootstrapping
needs.

`update-api-mapping` will then:

- Detect every `public fun`, `public struct`, `public enum` in the
Move sources and propose a section per entity.
- Match Rust/WASM symbols using its standard naming heuristics.
- Write all sections to the freshly scaffolded TOML.

Follow `update-api-mapping`'s normal confirmation flow. Because this
is a bootstrap, expect a large change set — group the proposal by
Move module so the user can review one file at a time.

5. **Verify the result.** After `update-api-mapping` finishes:

- Re-read `<api-mapping-path>` and confirm it parses.
- Confirm every Move public entity in `<move-sc-path>` has a
corresponding TOML section. If any are missing, list them and ask
the user whether to add them with `[]` arrays or pick up after
manual investigation.
- Confirm every banner has at least one section under it (or note
that the module is intentionally empty).
- Report a summary: number of sections created, number with
non-empty `rust`/`wasm` arrays, number left as `[]` for the user
to fill in, and any items that needed user input during the
bootstrap.

## Operating rules

- **Don't duplicate `update-api-mapping`'s logic.** This skill scaffolds
and delegates; it must not extract symbols, propose Rust/WASM matches,
or edit individual sections itself. If `update-api-mapping`'s behavior
needs to change, change _that_ skill, not this one.
- **One product per invocation.** Bootstrap one mapping at a time so
the bootstrap diff is reviewable.
- **Never overwrite an existing TOML silently.** Stop and ask if
`<api-mapping-path>` already exists.
- **Don't invent Move source files.** Only create banners for `*.move`
files actually present in `<move-sc-path>`.
- **Preserve the empty-tree contract.** The hand-off to
`update-api-mapping` always uses the empty-tree SHA as the base.
Don't substitute `origin/main` or similar — those would compare
against an unrelated history and miss entities.

## Example invocation

User:

> `/init-api-mapping`
> `rust-crate-path=identity-rs/src`
> `wasm-bindings-path=bindings/wasm/identity_wasm/src`
> `move-sc-path=identity-move/sources`

Expected behavior:

1. Confirm none of the three paths is missing and that
`identity-move/api_mapping.toml` does not yet exist.
2. Inspect `identity-move/sources/` — find e.g. `identity.move`,
`credentials.move`, `revocation.move`. Identify `identity.move` as
the "main" file (matches product name `identity`).
3. Write the scaffold TOML at `identity-move/api_mapping.toml` with
header and three module banners (`identity::main`,
`identity::credentials`, `identity::revocation`).
4. Invoke `update-api-mapping` with base
`4b825dc642cb6eb9a060e54bf8d69288fbee4904`. It detects every
`public fun`/`public struct`/`public enum` in those three Move
files, proposes Rust and WASM counterparts via its naming
heuristics, and (after user confirmation) fills the file in.
5. Re-read the resulting TOML, summarise: e.g. "47 sections created;
42 have non-empty `rust` arrays; 5 left as `[]` for review:
`identity.main.rotate_keys`, …".
Loading
Loading