AuditTrailBuilder
@iota/audit-trails API documentation
Class: AuditTrailBuilder
Builder that assembles the parameters for creating a new audit trail.
Remarks
The resulting transaction publishes the trail as a shared object, seeds the reserved Admin role with the permission set returned by PermissionSet.adminPermissions, and transfers a freshly minted initial-admin Capability to the configured admin address. An admin address must be set (either through AuditTrailBuilder.withAdmin or by constructing the builder via AuditTrailClient.createTrail, which seeds it with the signer); otherwise AuditTrailBuilder.finish produces a transaction that fails to build. When an initial record is set, its tag — if any — must already be in the configured record-tag list.
Methods
toJSON()
toJSON():
Object
- Return copy of self without private attributes.
Returns
Object
toString()
toString():
string
Return stringified version of self.
Returns
string
finish()
finish():
TransactionBuilder<CreateTrail>
Finalizes the builder into a transaction wrapper.
Returns
TransactionBuilder<CreateTrail>
A TransactionBuilder wrapping the CreateTrail transaction.
Remarks
On execution the audit-trail package shares the new trail object, seeds the reserved
Admin role with the permission set returned by
PermissionSet.adminPermissions, transfers an initial-admin capability to the
configured admin address, and optionally stores the initial record at sequence number
0.
Throws
When the builder is missing a required field or its initial record references a tag
that is not in the record-tag list, or when the configured LockingConfig is invalid
(for example, a count-based delete window with count == 0).
Emits an AuditTrailCreated event on success.
withAdmin()
withAdmin(
admin):AuditTrailBuilder
Sets the initial admin address.
Parameters
admin
string
Address that will receive the initial-admin capability.
Returns
AuditTrailBuilder
The same builder, with the admin address configured.
Remarks
On execution the trail's role map is seeded with a single role named "Admin" carrying the
permission set returned by PermissionSet.adminPermissions, and a freshly minted
initial-admin capability is transferred to this address. Setting an admin is required before
AuditTrailBuilder.finish can
produce a viable transaction; constructing the builder via
AuditTrailClient.createTrail already seeds it with the signer address.
Throws
When admin is not a valid IOTA address.
withInitialRecordBytes()
withInitialRecordBytes(
data,metadata?,tag?):AuditTrailBuilder
Sets the initial record using a raw byte payload.
Parameters
data
Uint8Array
Raw bytes stored as the initial record payload.
metadata?
Optional application-defined metadata stored alongside the record.
string | null
tag?
Optional trail-owned tag attached to the record.
string | null
Returns
AuditTrailBuilder
The same builder, with the initial record configured.
Remarks
The record is stored at sequence number 0.
When tag is provided it must already appear in the list passed to
AuditTrailBuilder.withRecordTags; the on-chain call aborts otherwise.
Bumps the tag's usage count on success.
withInitialRecordString()
withInitialRecordString(
data,metadata?,tag?):AuditTrailBuilder
Sets the initial record using a UTF-8 string payload.
Parameters
data
string
UTF-8 text payload for the initial record.
metadata?
Optional application-defined metadata stored alongside the record.
string | null
tag?
Optional trail-owned tag attached to the record.
string | null
Returns
AuditTrailBuilder
The same builder, with the initial record configured.
Remarks
The record is stored at sequence number 0.
When tag is provided it must already appear in the list passed to
AuditTrailBuilder.withRecordTags; the on-chain call aborts otherwise.
Bumps the tag's usage count on success.
withLockingConfig()
withLockingConfig(
config):AuditTrailBuilder
Sets the LockingConfig for the trail.
Parameters
config
Combined delete-record window, delete-trail lock, and write lock.
Returns
AuditTrailBuilder
The same builder, with the locking configuration applied.
Remarks
config.deleteTrailLock must not be TimeLock.withUntilDestroyed; trail creation
aborts on-chain otherwise.
withRecordTags()
withRecordTags(
tags):AuditTrailBuilder
Sets the canonical list of record tags owned by the trail.
Parameters
tags
string[]
Tag names that the trail will recognize.
Returns
AuditTrailBuilder
The same builder, with the record-tag registry configured.
Remarks
Every tag name later referenced by an initial record, an TrailRecords.add call, or a role's RoleTags allowlist must appear in this list. Tags are inserted with a usage count of zero.
withTrailMetadata()
withTrailMetadata(
name,description?):AuditTrailBuilder
Sets the trail's ImmutableMetadata (name and optional description).
Parameters
name
string
Human-readable trail name.
description?
Optional human-readable description.
string | null
Returns
AuditTrailBuilder
The same builder, with the immutable metadata configured.
Remarks
Stored once at trail creation and exposed read-only thereafter. Use AuditTrailBuilder.withUpdatableMetadata for the mutable counterpart.
withUpdatableMetadata()
withUpdatableMetadata(
metadata):AuditTrailBuilder
Sets the trail's updatableMetadata field.
Parameters
metadata
string
Initial value of the trail's updatableMetadata field.
Returns
AuditTrailBuilder
The same builder, with the updatable metadata configured.
Remarks
This field can later be replaced or cleared by holders of Permission.UpdateMetadata via AuditTrailHandle.updateMetadata.