Skip to main content

IntentInterface

type IntentInterface

A Signing Intent

An intent is a compact struct that serves as the domain separator for a message that a signature commits to. It consists of three parts: 1. IntentScope (what the type of the message is) 2. IntentVersion 3. IntentAppId (what application the signature refers to).

The serialization of an Intent is a 3-byte array where each field is represented by a byte and it is prepended onto a message before it is signed in IOTA.

BCS

The BCS serialized form for this type is defined by the following ABNF:

```text intent = intent-scope intent-version intent-app-id ```

type IntentInterface interface {
// Get the app id of the signing intent.
AppId() IntentAppId
// Get the scope of the signing intent.
Scope() IntentScope
// Convert the signing intent to bytes.
ToBytes() []byte
// Get the version of the signing intent.
Version() IntentVersion
}