mirror of
https://github.com/luxfi/coreth.git
synced 2026-10-30 17:00:51 +00:00
Wave 2G-Internal (#101). luxfi/utxo/secp256k1fx.VM is codec-free by shape today (Clock + Logger only); secp256k1fx.Fx.Initialize accepts any value matching the VM interface and no longer needs a CodecRegistry method. The secpfx adapter was carrying a stale linearcodec.NewDefault() / codec.Registry struct field that wasn't exercised by any production path — pure dead weight tying coreth back to luxfi/codec. Changes: - secpfx.Host now matches secp256k1fx.VM exactly (Clock + Logger). - A compile-time assertion `_ secp256k1fx.VM = (Host)(nil)` guards the contract so upstream additions to the Fx VM surface fail to compile here until Host catches up. - secpfx.New passes the host directly to fx.Initialize — no fxVM wrapper, no linearcodec.NewDefault registry stash. - Imports of github.com/luxfi/codec / linearcodec removed. The Adapter lifecycle surface (Initialize / Bootstrapping / Bootstrapped / VerifyTransfer / VerifyPermission / CreateOutput / RecoverCache) is unchanged — downstream consumers in plugin/evm/atomic/ don't care. Grep zero `"github.com/luxfi/codec"` imports in secpfx.go.