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,
Notice how the Alias ID field has to be set in Alias Output #2 to the protocol generated value.