module RLP::Decode
def pop(rlp, index=2**50)
def pop(rlp, index=2**50) type, len, pos = consume_length_prefix rlp, 0 raise DecodingError.new("Trying to pop from a non-list!", rlp) if type != :list beginpos = pos index.times do |i| _, _len, _pos = consume_length_prefix rlp, pos break if _len + _pos >= rlp.size pos = _len + _pos end _, _len, _pos = consume_length_prefix rlp, pos rlpdata = rlp[beginpos...pos] + rlp[(_len+_pos)..-1] prefix = length_prefix rlpdata.size, LIST_PREFIX_OFFSET prefix + rlpdata end