public static void Encode(Span <byte> span, Deposit container) { if (span.Length != Ssz.DepositLength()) { ThrowTargetLength <Deposit>(span.Length, Ssz.DepositLength()); } Encode(span.Slice(0, Ssz.DepositLengthOfProof()), container.Proof); Encode(span.Slice(Ssz.DepositLengthOfProof()), container.Data.Item); }
public static Deposit DecodeDeposit(ReadOnlySpan <byte> span) { if (span.Length != Ssz.DepositLength()) { ThrowSourceLength <Deposit>(span.Length, Ssz.DepositLength()); } Bytes32[] proof = DecodeBytes32s(span.Slice(0, Ssz.DepositLengthOfProof())); DepositData data = DecodeDepositData(span.Slice(Ssz.DepositLengthOfProof())); Deposit deposit = new Deposit(proof, data.OrRoot); return(deposit); }
public static void Encode(Span <byte> span, Deposit?container) { if (span.Length != Ssz.DepositLength()) { ThrowTargetLength <Deposit>(span.Length, Ssz.DepositLength()); } if (container == null) { return; } Encode(span.Slice(0, Ssz.DepositLengthOfProof()), container.Proof); Encode(span.Slice(Ssz.DepositLengthOfProof()), container.Data); }
public static Deposit?DecodeDeposit(Span <byte> span) { if (span.Length != Ssz.DepositLength()) { ThrowSourceLength <Deposit>(span.Length, Ssz.DepositLength()); } if (span.SequenceEqual(NullDeposit())) { return(null); } Hash32[] proof = DecodeHashes(span.Slice(0, Ssz.DepositLengthOfProof())); DepositData data = DecodeDepositData(span.Slice(Ssz.DepositLengthOfProof())); Deposit deposit = new Deposit(proof, data); return(deposit); }