Skip to main content

State Transitions

As the name suggests, a state transition must be initiated by the State Controller, therefore it is the stateControllerAddress that needs to sign the transaction.

Example Transaction

Transaction B represents a state transition of the alias. During a state transition, the following must happen:

  • The alias can't be destroyed.
  • The State Index must be incremented.
  • The Foundry Counter must be incremented by the number of foundries created in the transaction.
  • The Unlock Conditions must not be changed, therefore the state controller can't update ownership of the alias account.
  • The Metadata Feature must not be updated.

The following can happen, but is optional:

  • Token balances of the output may be changed, the State Controller can transfer funds in- and out of the alias account.
  • The State Metadata may be updated,
  • The Sender Feature may be updated,

Transaction B - State transition of an alias

Notice how the Alias ID field has to be set in Alias Output #2 to the protocol generated value.