Types

TypeNotationDefinitionDefault ValueIllegal Types
Basic
-Unsigned_IntegerUint[N]Unsigned Integer of N Bytes. Uint8, Uint16, Uint64, Uint128, Uint2560
-BooleanbooleanTrue or False, 0 or 1, etc.False
Composite
-VectorVector[type, N]Fixed Length sequence of elements of same type. Homogeneous collection of length N[default(type)] * N -- A vector of default values of length NEmpty Vectors -- Vector[type, 0]
-ListList[type, N]Variable Length sequence of elements of same type. Homogenous collection limited to N valuesEmpty List: [ ]
-ContainerContainer[var_a: type, var_b: type, ...]Heterogeneous collection of key-type pairs.default(type) for type in container. -- All fields zeroed to default valuesContainer with no fields
-UnionUnion[type_0, type_1, ...]Union type containing SSZ typesdefault(type_0). the zeroed default value of type_0Union with null type at type_0. -- Union[null, ...]
Special
-BitVectorBitVector[N]Vector of Boolean Values of length N. Given special notation for efficiencyFalse * NEmpty BitVectors: BitVector[0]
-BitListBitList[N]List of Boolean Values with limit N. Given special notation for efficiency.Empty List: [ ]
-Roothash_tree_root(type)The merkleized root of a composite SSZ typehash_tree_root(default(type))

Default Values E.g.

var a: Type<boolean> var b: Type<uint8> var c: Type<uint16> var d: Type<Vector<byte, 4>> a.defaultValue = false b.defaultValue = 0 c.defaultValue = 0 d.defaultValue = 0000