Merkle update cells always have two references, c1, c2, and behave like a Merkle proof for both.
The level of a Merkle update cell, 0 <= l < 3, is determined as max{Lvl(c1) - 1, Lvl(c2) - 1, 0}.Each Merkle update cell serializes as follows:
one tag byte with value 0x04;
the 256-bit higher hash of the referenced cell c1 or the representation hash of c if its level equals zero;
the same for the second reference c2;
2 bytes that store the depth of the old deleted subtree that was replaced by the reference c1;
2 bytes that store the depth of the new deleted subtree that was replaced by the reference c2.