Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
e7699c3
feat: Add initial implementation of audit trails module
itsyaasir Dec 11, 2025
c4f79fb
refactor: Rename module and package from audit_trails_poc to audit_tr…
itsyaasir Dec 11, 2025
f6e7e11
feat: Audit Trails_ Rename move directory and add some folders (#162)
chrisgitiota Dec 12, 2025
e449177
feat: Implement audit trails with role-based access control
itsyaasir Dec 17, 2025
c2b11bd
feat: Introduce locking and record modules for audit trails
itsyaasir Dec 17, 2025
d1d8dc5
First version of permission
chrisgitiota Dec 21, 2025
632d1e7
First version of initial roles config and Admin role Capability creation
chrisgitiota Dec 22, 2025
f5b6b2a
Add missing tests for create AT
chrisgitiota Dec 22, 2025
395a68f
Fixes for the create AT tests
chrisgitiota Dec 22, 2025
713c494
New test test_create_metadata_admin_role() in create_tests.move
chrisgitiota Dec 22, 2025
6cb397b
Fix dprint issues
chrisgitiota Dec 22, 2025
bc512d8
refactor: Rename audit_trails module to main and update locking confi…
itsyaasir Dec 22, 2025
ed79a98
New test for the role-based access control delegation workflow
chrisgitiota Dec 22, 2025
09ae22b
Add access control check for update_metadata()
chrisgitiota Dec 22, 2025
75c8487
Update audit-trail-move/sources/permission.move
chrisgitiota Dec 23, 2025
60f5562
Implementation for the issued_capabilities whitelist management plus …
chrisgitiota Dec 23, 2025
7938050
Merge branch 'feat/audit-trails-api-roles-management' of github.com:i…
chrisgitiota Dec 23, 2025
520eda0
Globally rename 'MetaData' to 'Metadata'
chrisgitiota Dec 23, 2025
e5a71a1
Rename 'create_tests' to 'create_audit_trail_tests'
chrisgitiota Dec 23, 2025
cfb8c84
Rename all Permissions variants and creator functions according to th…
chrisgitiota Dec 23, 2025
ffe4871
Merge branch 'feat/audit-trails-api' into feat/audit-trails-api-roles…
chrisgitiota Dec 23, 2025
600ae26
Rewrite of all LockingConfig creating function calls in Move tests
chrisgitiota Dec 23, 2025
c029e29
Add access control check for AuditTrail.update_metadata() and `delete…
chrisgitiota Dec 23, 2025
09f1a96
Merge pull request #173 from iotaledger/feat/audit-trails-api-roles-m…
itsyaasir Dec 24, 2025
e89679a
Merge pull request #164 from iotaledger/feat/audit-trails-api
itsyaasir Dec 24, 2025
f30459f
Merge branch 'main' into feat/audit-trails-dev
itsyaasir Jan 5, 2026
213ac6b
chore: fmt fixes & add prettier configuration
itsyaasir Jan 5, 2026
71d2dd4
New Capability restrictions: issued_to, valid_until and valid_from
chrisgitiota Jan 5, 2026
d9f7829
Merge branch 'feat/audit-trails-dev' into feat/audit-trails-dev-caps-…
chrisgitiota Jan 5, 2026
a8d084e
chore: Fixed format issues
chrisgitiota Jan 5, 2026
8a5297b
Only revoke cap_to_destroy if they are contained in issued_capabilities
chrisgitiota Jan 9, 2026
a091087
chore: function sig refactor & adding of emitting events
itsyaasir Jan 12, 2026
06d26b9
refactor: update capability permission checks and enhance test coverage
itsyaasir Jan 12, 2026
d55e41b
refactor: improve test readability with consistent formatting
itsyaasir Jan 12, 2026
5f45822
fix: correct typos in permission documentation and improve comments
itsyaasir Jan 13, 2026
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
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_trail"
5 changes: 4 additions & 1 deletion .github/actions/publish/wasm/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ inputs:
working-directory:
description: "Directory to publish from"
required: true
artifact-download-path:
description: "Directory to download artifacts to (defaults to working-directory)"
required: false
dry-run:
description: "'true' = only log potential result; 'false' = publish'"
required: true
Expand All @@ -27,7 +30,7 @@ runs:
uses: actions/download-artifact@v4
with:
name: ${{ inputs.input-artifact-name }}
path: bindings/wasm/notarization_wasm
path: ${{ inputs.artifact-download-path || inputs.working-directory }}

- name: Publish WASM bindings to NPM
shell: sh
Expand Down
136 changes: 122 additions & 14 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ on:
- ".github/workflows/shared-build-wasm.yml"
- ".github/actions/**"
- "**.rs"
- "**.move"
- "**.toml"
- "**.lock"
- "bindings/**"
- "!bindings/**.md"
- "bindings/wasm/notarization_wasm/README.md" # the Readme contain txm tests
- "bindings/wasm/audit_trail_wasm/README.md"

schedule:
# * is a special character in YAML so you have to quote this string
Expand Down Expand Up @@ -165,17 +167,27 @@ jobs:

- name: test Notarization Move package
if: matrix.os != 'windows-latest'
# publish the package and set the IOTA_NOTARIZATION_PKG_ID env variable
run: |
iota move test
run: iota move test
working-directory: notarization-move

- name: test Audit Trail Move package
if: matrix.os != 'windows-latest'
run: iota move test
working-directory: audit-trail-move

- name: publish Notarization Move package
if: matrix.os != 'windows-latest'
# publish the package and set the IOTA_NOTARIZATION_PKG_ID env variable
run: echo "IOTA_NOTARIZATION_PKG_ID=$(./publish_package.sh)" >> "$GITHUB_ENV"
working-directory: notarization-move/scripts/

- name: publish Audit Trail Move package
if: matrix.os != 'windows-latest'
run: |
eval "$(./publish_package.sh)"
echo "IOTA_AUDIT_TRAIL_PKG_ID=$IOTA_AUDIT_TRAIL_PKG_ID" >> "$GITHUB_ENV"
echo "IOTA_TF_COMPONENTS_PKG_ID=$IOTA_TF_COMPONENTS_PKG_ID" >> "$GITHUB_ENV"
working-directory: audit-trail-move/scripts/

- name: Run tests
if: matrix.os != 'windows-latest'
run: cargo test --workspace --release -- --test-threads=1
Expand Down Expand Up @@ -210,16 +222,26 @@ jobs:
uses: "./.github/actions/rust/sccache/stop"
with:
os: ${{matrix.os}}
build-wasm:
build-wasm-notarization:
needs: check-for-run-condition
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
uses: "./.github/workflows/shared-build-wasm.yml"
with:
run-unit-tests: false
output-artifact-name: notarization-wasm-bindings-build

test-wasm:
needs: build-wasm
build-wasm-audit-trail:
needs: check-for-run-condition
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
uses: "./.github/workflows/shared-build-wasm.yml"
with:
run-unit-tests: false
output-artifact-name: audit-trail-wasm-bindings-build
wasm-package-dir: bindings/wasm/audit_trail_wasm
wasm-crate-name: audit_trail_wasm

test-wasm-notarization:
needs: [build-wasm-notarization, check-for-run-condition]
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
runs-on: ubuntu-24.04
strategy:
Expand Down Expand Up @@ -253,21 +275,53 @@ jobs:
iota-version: ${{ env.IOTA_VERSION }}

- name: publish Notarization Move package
if: matrix.os != 'windows-latest'
# publish the package and set the IOTA_NOTARIZATION_PKG_ID env variable
run: echo "IOTA_NOTARIZATION_PKG_ID=$(./publish_package.sh)" >> "$GITHUB_ENV"
working-directory: notarization-move/scripts/

- name: Run Wasm examples
run: npm run test:node
working-directory: bindings/wasm/notarization_wasm

test-wasm-audit-trail:
needs: [build-wasm-audit-trail, check-for-run-condition]
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 20.x

- name: Install JS dependencies
run: npm ci
working-directory: bindings/wasm/notarization_wasm
working-directory: bindings/wasm/audit_trail_wasm

- name: Download bindings/wasm/audit_trail_wasm artifacts
uses: actions/download-artifact@v4
with:
name: audit-trail-wasm-bindings-build
path: bindings/wasm/audit_trail_wasm

- name: Start iota sandbox
uses: "./.github/actions/iota/setup"
with:
iota-version: ${{ env.IOTA_VERSION }}

- name: publish Audit Trail Move package
run: |
eval "$(./publish_package.sh)"
echo "IOTA_AUDIT_TRAIL_PKG_ID=$IOTA_AUDIT_TRAIL_PKG_ID" >> "$GITHUB_ENV"
echo "IOTA_TF_COMPONENTS_PKG_ID=$IOTA_TF_COMPONENTS_PKG_ID" >> "$GITHUB_ENV"
working-directory: audit-trail-move/scripts/

- name: Run Wasm examples
#run: npm run test:readme && npm run test:node
run: npm run test:node
working-directory: bindings/wasm/notarization_wasm
test-wasm-browser:
needs: build-wasm
working-directory: bindings/wasm/audit_trail_wasm
test-wasm-browser-notarization:
needs: [build-wasm-notarization, check-for-run-condition]
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
runs-on: ubuntu-24.04
strategy:
Expand Down Expand Up @@ -316,3 +370,57 @@ jobs:

- name: Run cypress
run: docker run --network host cypress-test test:browser:${{ matrix.browser }}

test-wasm-browser-audit-trail:
needs: [build-wasm-audit-trail, check-for-run-condition]
if: ${{ needs.check-for-run-condition.outputs.should-run == 'true' }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
browser: [chrome, firefox]

steps:
- uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 20.x

- name: Install JS dependencies
run: npm ci
working-directory: bindings/wasm/audit_trail_wasm

- name: Download bindings/wasm/audit_trail_wasm artifacts
uses: actions/download-artifact@v4
with:
name: audit-trail-wasm-bindings-build
path: bindings/wasm/audit_trail_wasm

- name: Start iota sandbox
uses: "./.github/actions/iota/setup"
with:
iota-version: ${{ env.IOTA_VERSION }}

- name: publish Audit Trail Move package
run: |
eval "$(./publish_package.sh)"
echo "IOTA_AUDIT_TRAIL_PKG_ID=$IOTA_AUDIT_TRAIL_PKG_ID" >> "$GITHUB_ENV"
echo "IOTA_TF_COMPONENTS_PKG_ID=$IOTA_TF_COMPONENTS_PKG_ID" >> "$GITHUB_ENV"
working-directory: audit-trail-move/scripts/

- name: Build Docker image
uses: docker/build-push-action@v6.2.0
with:
context: bindings/wasm/
file: bindings/wasm/audit_trail_wasm/cypress/Dockerfile
push: false
tags: cypress-audit-trail:latest
load: true
build-args: |
IOTA_AUDIT_TRAIL_PKG_ID=${{ env.IOTA_AUDIT_TRAIL_PKG_ID }}
IOTA_TF_COMPONENTS_PKG_ID=${{ env.IOTA_TF_COMPONENTS_PKG_ID }}

- name: Run cypress
run: docker run --network host cypress-audit-trail test:browser:${{ matrix.browser }}
6 changes: 6 additions & 0 deletions .github/workflows/clippy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,9 @@ jobs:
if: ${{ false }}
with:
args: --manifest-path ./bindings/wasm/notarization_wasm/Cargo.toml --target wasm32-unknown-unknown --all-targets --all-features -- -D warnings

- name: Wasm clippy check audit_trail_wasm
uses: actions-rs-plus/clippy-check@b09a9c37c9df7db8b1a5d52e8fe8e0b6e3d574c4
if: ${{ false }}
with:
args: --manifest-path ./bindings/wasm/audit_trail_wasm/Cargo.toml --target wasm32-unknown-unknown --all-targets --all-features -- -D warnings
9 changes: 8 additions & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ jobs:
- name: wasm fmt check notarization_wasm
run: cargo +nightly fmt --manifest-path ./bindings/wasm/notarization_wasm/Cargo.toml --all -- --check

- name: wasm fmt check audit_trail_wasm
run: cargo +nightly fmt --manifest-path ./bindings/wasm/audit_trail_wasm/Cargo.toml --all -- --check

- name: fmt check with dprint
run: dprint check

Expand All @@ -61,6 +64,10 @@ jobs:
- name: Install prettier-plugin-move
run: npm i @mysten/prettier-plugin-move

- name: prettier-move check
- name: prettier-move check notarization-move
working-directory: notarization-move
run: npx prettier-move -c **/*.move

- name: prettier-move check audit-trail-move
working-directory: audit-trail-move
run: npx prettier-move -c **/*.move
25 changes: 18 additions & 7 deletions .github/workflows/shared-build-wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ on:
description: "Name used for the output build artifact"
required: true
type: string
wasm-package-dir:
description: "Relative path to the wasm package directory (e.g. bindings/wasm/notarization_wasm)"
required: false
type: string
default: "bindings/wasm/notarization_wasm"
wasm-crate-name:
description: "Name of the wasm crate (e.g. notarization_wasm)"
required: false
type: string
default: "notarization_wasm"
jobs:
build-wasm:
defaults:
Expand Down Expand Up @@ -52,6 +62,7 @@ jobs:
sccache-enabled: true
sccache-path: ${{ matrix.sccache-path }}
target-cache-path: bindings/wasm/target
target-cache-key-suffix: ${{ inputs.wasm-crate-name }}

# Download a pre-compiled wasm-bindgen binary.
- name: Install wasm-bindgen-cli
Expand All @@ -71,16 +82,16 @@ jobs:

- name: Install JS dependencies
run: npm ci
working-directory: bindings/wasm/notarization_wasm
working-directory: ${{ inputs.wasm-package-dir }}

- name: Build WASM bindings
run: npm run build
working-directory: bindings/wasm/notarization_wasm
working-directory: ${{ inputs.wasm-package-dir }}

- name: Run Node unit tests
if: ${{ inputs.run-unit-tests }}
run: npm run test:unit:node
working-directory: bindings/wasm/notarization_wasm
working-directory: ${{ inputs.wasm-package-dir }}

- name: Stop sccache
uses: "./.github/actions/rust/sccache/stop"
Expand All @@ -92,9 +103,9 @@ jobs:
with:
name: ${{ inputs.output-artifact-name }}
path: |
bindings/wasm/notarization_wasm/node
bindings/wasm/notarization_wasm/web
bindings/wasm/notarization_wasm/examples/dist
bindings/wasm/notarization_wasm/docs
${{ inputs.wasm-package-dir }}/node
${{ inputs.wasm-package-dir }}/web
${{ inputs.wasm-package-dir }}/examples/dist
${{ inputs.wasm-package-dir }}/docs
if-no-files-found: error
retention-days: 1
34 changes: 30 additions & 4 deletions .github/workflows/upload-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
version:
description: "Version to publish docs under (e.g. `v1.2.3-dev.1`)"
required: true
ref:
description: "Optional git ref to checkout before building docs"
required: false

env:
GH_TOKEN: ${{ github.token }}
Expand All @@ -16,20 +19,34 @@ permissions:
actions: "write"

jobs:
build-wasm:
build-wasm-notarization:
uses: "./.github/workflows/shared-build-wasm.yml"
with:
run-unit-tests: false
ref: ${{ inputs.ref }}
output-artifact-name: notarization-docs

build-wasm-audit-trail:
uses: "./.github/workflows/shared-build-wasm.yml"
with:
run-unit-tests: false
ref: ${{ inputs.ref }}
output-artifact-name: audit-trail-docs
wasm-package-dir: bindings/wasm/audit_trail_wasm
wasm-crate-name: audit_trail_wasm

upload-docs:
runs-on: ubuntu-latest
needs: build-wasm
needs: [build-wasm-notarization, build-wasm-audit-trail]
steps:
- uses: actions/download-artifact@v4
with:
name: notarization-docs
path: notarization-docs
- uses: actions/download-artifact@v4
with:
name: audit-trail-docs
path: audit-trail-docs
- name: Get release version
id: get_release_version
run: |
Expand All @@ -42,12 +59,21 @@ jobs:
echo VERSION=$VERSION >> $GITHUB_OUTPUT
- name: Compress generated docs
run: |
tar czvf wasm.tar.gz notarization/docs/*
tar czvf wasm.tar.gz notarization-docs/docs/*
tar czvf audit-trail-wasm.tar.gz audit-trail-docs/docs/*

- name: Upload docs to AWS S3
- name: Upload notarization docs to AWS S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IOTA_WIKI }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IOTA_WIKI }}
AWS_DEFAULT_REGION: "eu-central-1"
run: |
aws s3 cp wasm.tar.gz s3://files.iota.org/iota-wiki/iota-notarization/${{ steps.get_release_version.outputs.VERSION }}/ --acl public-read

- name: Upload audit trail docs to AWS S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IOTA_WIKI }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IOTA_WIKI }}
AWS_DEFAULT_REGION: "eu-central-1"
run: |
aws s3 cp audit-trail-wasm.tar.gz s3://files.iota.org/iota-wiki/iota-audit-trail/${{ steps.get_release_version.outputs.VERSION }}/ --acl public-read
Loading
Loading