NotarizationClient
@iota/notarization API documentation
Class: NotarizationClient
Read-write client for creating and modifying notarizations on the IOTA ledger.
Remarks
Wraps a NotarizationClientReadOnly together with a transaction signer. Use the builder methods (NotarizationClient.createDynamic, NotarizationClient.createLocked) to create new notarizations and the mutation methods (NotarizationClient.updateState, NotarizationClient.updateMetadata, NotarizationClient.destroy, NotarizationClient.transferNotarization) to operate on existing ones. For pure read access, prefer NotarizationClientReadOnly.
Methods
create()
staticcreate(client,signer):Promise<NotarizationClient>
Constructs a read-write client by attaching a signer to a read-only client.
Parameters
client
A NotarizationClientReadOnly connected to the target network.
signer
TransactionSigner
A TransactionSigner responsible for signing outgoing transactions.
Returns
Promise<NotarizationClient>
A connected NotarizationClient.
Throws
When the signer's public key cannot be retrieved.
createDynamic()
createDynamic():
NotarizationBuilderDynamic
Starts building a Dynamic-Notarization.
Returns
A fresh NotarizationBuilderDynamic.
Emits a DynamicNotarizationCreated event on success.
Remarks
On execution the resulting transaction transfers the new notarization object to the sender.
createLocked()
createLocked():
NotarizationBuilderLocked
Starts building a Locked-Notarization.
Returns
A fresh NotarizationBuilderLocked.
Emits a LockedNotarizationCreated event on success.
Remarks
On execution the resulting transaction transfers the new notarization object to the sender.
destroy()
destroy(
notarization_id):any
Builds a transaction that destroys a notarization permanently and releases its object ID.
Parameters
notarization_id
string
Returns
any
A TransactionBuilder wrapping the DestroyNotarization transaction.
Remarks
All package-local TimeLocks of the attached LockMetadata are destroyed in the process. The notarization must currently be destroy-allowed (see NotarizationClientReadOnly.isDestroyAllowed); otherwise the on-chain transaction aborts.
Throws
When the ID is malformed.
Emits a NotarizationDestroyed event on success.
iotaClient()
iotaClient():
IotaClient
The underlying IOTA client used for ledger queries.
Returns
IotaClient
network()
network():
string
The network identifier this client is connected to.
Returns
string
packageHistory()
packageHistory():
string[]
The full history of notarization package IDs known on this network, most recent first.
Returns
string[]
packageId()
packageId():
string
The notarization package ID this client is using.
Returns
string
readOnly()
readOnly():
NotarizationClientReadOnly
Returns a read-only view of this client.
Returns
A NotarizationClientReadOnly sharing the same network connection.
senderAddress()
senderAddress():
string
The IOTA address transactions will be sent from.
Returns
string
senderPublicKey()
senderPublicKey():
PublicKey
The signer's public key.
Returns
PublicKey
Throws
When the signer fails to provide its public key.
signer()
signer():
TransactionSigner
The transaction signer attached to this client.
Returns
TransactionSigner
tfComponentsPackageId()
tfComponentsPackageId():
string
Returns the tf_components package ID currently in use.
Returns
string
Stringified object ID of the resolved tf_components package.
transferNotarization()
transferNotarization(
notarization_id,recipient):any
Builds a transaction that transfers ownership of a notarization to another address.
Parameters
notarization_id
string
recipient
string
The new owner's IOTA address.
Returns
any
A TransactionBuilder wrapping the TransferNotarization transaction.
Remarks
Permitted only when the notarization has no LockMetadata or
when its transferLock is not currently active.
Behaviour depends on the Notarization Method:
Dynamic: on success the notarization is transferred torecipient. Submitting while the configuredtransferLockis currently engaged aborts on-chain.Locked: always aborts on-chain — Locked-Notarizations have theirtransferLockpinned to TimeLockType.UntilDestroyed and are therefore non-transferable.
Throws
When the ID or address is malformed.
Emits a DynamicNotarizationTransferred event on success.
updateMetadata()
updateMetadata(
metadata,notarization_id):any
Builds a transaction that replaces the updatable metadata of a notarization.
Parameters
metadata
The replacement metadata, or null to clear it.
undefined | null | string
notarization_id
string
Returns
any
A TransactionBuilder wrapping the UpdateMetadata transaction.
Remarks
Does not affect the state, stateVersionCount,
lastStateChangeAt, or the immutable description.
Behaviour depends on the Notarization Method:
Dynamic: always permitted — the underlyingupdateLockis fixed to TimeLockType.None.Locked: always aborts on-chain, because the underlyingupdateLockis pinned to TimeLockType.UntilDestroyed.
Throws
When the ID is malformed.
updateState()
updateState(
new_state,notarization_id):any
Builds a transaction that replaces the state of a notarization.
Parameters
new_state
notarization_id
string
Returns
any
A TransactionBuilder wrapping the UpdateState transaction.
Remarks
On success the on-chain transaction replaces state with newState,
increments stateVersionCount by 1, and refreshes
lastStateChangeAt to the on-chain clock (in milliseconds since the
Unix epoch).
Behaviour depends on the Notarization Method:
Dynamic: always permitted — the underlyingupdateLockis fixed to TimeLockType.None.Locked: always aborts on-chain, because the underlyingupdateLockis pinned to TimeLockType.UntilDestroyed.
Throws
When the ID is malformed.
Emits a NotarizationUpdated event on success.