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