Robert E. Davidson III
Robert E. Davidson III
Closes #1715 Closes https://github.com/onflow/cadence/issues/1941 ## Description Encode cadence.Value and cadence.Type using custom binary codec. Full test coverage is to be handled in a separate issue: https://github.com/onflow/cadence/issues/1939 ______ - [ ]...
CBF currently uses the `binary` package, which is inefficient. Either use an efficient library (what does protobuf use?) or hand-code. Also: make sure to use little endian because it is...
In CBF, length (of strings, arrays, etc) is encoded as four bytes. Separately, anything that can be nil encodes an extra byte a a boolean for whether or not it's...
Right now, the complex types are encoded in-line with their values. If two values have the same type, the type is encoded twice. The complex types should only be encoded...
Right now in Cadence we encode events as JSON. We want to encode them with the new codec, CBF (Cadence Binary Format). The FVM treats events as a black box...
A wrapper codec is needed that chooses which codec to use for decoding by examining the first byte. If the first byte is '{' then assume it's JSON. This isn't...
I included metering for newly allocated Cadence values and types on decoding but there may be gaps. My biggest concern is that there may be unbounded values that are metered...
Achieve 100% test coverage on a line-by-line basis for the codec work. This can include the fuzzing test coverage but doing so requires enabling that in CI.
Same as https://github.com/onflow/cadence/issues/1935 but for the sema codec.
This is fuzzing for the Cadence external values codec specifically, not the sema codec.