Files
zeekay 69941ab4e4 plugin/evm/secpfx: drop codec.Registry — upstream Fx already codec-free
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.
2026-06-06 05:19:50 -07:00
..