Skip to main content

IntentProtocol

IntentProtocol Objects

class IntentProtocol(typing.Protocol)

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:

intent = intent-scope intent-version intent-app-id

app_id

def app_id() -> IntentAppId

Get the app id of the signing intent.

scope

def scope() -> IntentScope

Get the scope of the signing intent.

to_bytes

def to_bytes() -> bytes

Convert the signing intent to bytes.

version

def version() -> IntentVersion

Get the version of the signing intent.