def read_encoded_sequence
import stelliferous@0.0.2.0/proofs/storage_refinement.bend as StorageRefinementimport Base
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
409# The logical address conversion is separate from the physical owner.
410def read_encoded_sequence(~Element: Data,+fallback: Element,+length: Nat,+values: List<&2,Element>,
411 +evidence: SequenceEvidence<Element,length,values>,+address: U32,+index: Nat,+native_length: U32,
412 address_exact: {U32.to_nat(address) == index : Nat},length_exact: {U32.to_nat(native_length) == length : Nat}) ->
413 {Storage.read_or(Element,fallback,sequence_owner(Element,length,values,evidence),address,native_length) ==
414 (sequence_owner(Element,length,values,evidence),Maybe.default(&2,Element,List.get(&2,Element,values,index),fallback)) : Array<Element> & Element}:
415 %address_exact :
416 {Storage.read_or(Element,fallback,sequence_owner(Element,length,values,evidence),address,native_length) ==
417 (sequence_owner(Element,length,values,evidence),Maybe.default(&2,Element,List.get(&2,Element,values,_),fallback)) : Array<Element> & Element}
418 read_sequence_evidence(~Element,fallback,length,values,evidence,address,native_length,length_exact)
Uses (13)
Used by (0)
No other definition uses this definition.