Background
Derivation currently decompresses batch payloads through the local node/zstd implementation. We need to integrate the Morph DA codec decoder described in the Go integration doc and stop using the legacy decompression path.
Scope
- Wire
node/zstd.DecompressBatchBytes to github.com/morph-l2/morph-da-codec/bindings/decoder/zstd.DecompressMorphDABatch.
- Remove the old
libscroll_zstd_* cgo link declarations from the node zstd package to avoid linking two Rust static libraries.
- Ensure derivation continues to compile and pass tests with
CGO_ENABLED=1.
Validation
CGO_ENABLED=1 go test ./zstd
CGO_ENABLED=1 go test ./derivation
CGO_ENABLED=1 go test ./... -run '^$'
Notes
A trial integration showed that importing the new decoder while keeping the old Rust static library linked causes duplicate Rust runtime symbols such as _rust_eh_personality. The integration should avoid linking both archives into the same Go binary.
Background
Derivation currently decompresses batch payloads through the local
node/zstdimplementation. We need to integrate the Morph DA codec decoder described in the Go integration doc and stop using the legacy decompression path.Scope
node/zstd.DecompressBatchBytestogithub.com/morph-l2/morph-da-codec/bindings/decoder/zstd.DecompressMorphDABatch.libscroll_zstd_*cgo link declarations from the node zstd package to avoid linking two Rust static libraries.CGO_ENABLED=1.Validation
CGO_ENABLED=1 go test ./zstdCGO_ENABLED=1 go test ./derivationCGO_ENABLED=1 go test ./... -run '^$'Notes
A trial integration showed that importing the new decoder while keeping the old Rust static library linked causes duplicate Rust runtime symbols such as
_rust_eh_personality. The integration should avoid linking both archives into the same Go binary.