StandardsGuides
Banff Changes
This document specifies the changes in Avalanche “Banff”, which was released in AvalancheGo v1.9.x.
Block Changes
Apricot
Apricot allows the following block types with the following content:
- Standard Blocks may contain multiple transactions of the following types:
- CreateChainTx
- CreateSubnetTx
- ImportTx
- ExportTx
- Proposal Blocks may contain a single transaction of the following types:
- AddValidatorTx
- AddDelegatorTx
- AddSubnetValidatorTx
- RewardValidatorTx
- AdvanceTimeTx
- Options Blocks, that is Commit Block and Abort Block do not contain any transactions.
Each block has a header containing:
- ParentID
- Height
Banff
Banff allows the following block types with the following content:
-
Standard Blocks may contain multiple transactions of the following types:
- CreateChainTx
- CreateSubnetTx
- ImportTx
- ExportTx
- AddValidatorTx
- AddDelegatorTx
- AddSubnetValidatorTx
- RemoveSubnetValidatorTx
- TransformSubnetTx
- AddPermissionlessValidatorTx
- AddPermissionlessDelegatorTx
-
Proposal Blocks may contain a single transaction of the following types:
- RewardValidatorTx
-
Options blocks, that is Commit Block and Abort Block do not contain any transactions.
Note that each block has an header containing:
- ParentID
- Height
- Time
So the two main differences with respect to Apricot are:
- AddValidatorTx, AddDelegatorTx, AddSubnetValidatorTx are included into Standard Blocks rather than Proposal Blocks so that they don't need to be voted on (that is followed by a Commit/Abort Block).
- New Transaction types: RemoveSubnetValidatorTx, TransformSubnetTx, AddPermissionlessValidatorTx, and AddPermissionlessDelegatorTx have been added into Standard Blocks.
- Block timestamp is explicitly serialized into block header, to allow chain time update.
New Transactions
RemoveSubnetValidatorTx
TransformSubnetTx
AddPermissionlessValidatorTx
AddPermissionlessDelegatorTx
New TypeIDs
Last updated on