Files
evm/create_missing_interfaces.py
T
zeekay fc1662afd8 Fix import paths and add missing interface stubs for subnet-evm v0.7.5
- Update imports from luxdefi/node to luxfi/node
- Replace libevm interfaces with direct go-ethereum imports
- Add placeholder interface files for missing dependencies
- Update go.mod to use local luxfi/node path
- Fix merge conflicts in multiple files
- Create stub implementations for missing packages

This allows the project structure to align with v0.7.5 requirements
but the build still needs additional work to be fully functional.
2025-07-04 00:03:10 -04:00

153 lines
3.2 KiB
Python

#!/usr/bin/env python3
import os
# Create missing interface files
interfaces_to_create = [
# Core interfaces
('interfaces/core/asm/asm.go', '''package asm
// Placeholder interface for core/asm
type Interface interface{}
'''),
# Metrics interface
('interfaces/metrics/metrics.go', '''package metrics
// Placeholder metrics interface
type Interface interface{}
'''),
# Core rawdb
('interfaces/core/rawdb/rawdb.go', '''package rawdb
import "github.com/ethereum/go-ethereum/core/rawdb"
// Re-export rawdb types
type Interface = rawdb.Database
'''),
# Trie interfaces
('interfaces/trie/trie.go', '''package trie
// Placeholder trie interface
type Interface interface{}
'''),
# Trie node
('trie/trienode/node.go', '''package trienode
// Placeholder trienode
type Node interface{}
'''),
# Ethdb memory
('interfaces/ethdb/memorydb/memorydb.go', '''package memorydb
import "github.com/ethereum/go-ethereum/ethdb/memorydb"
// Re-export memorydb
var New = memorydb.New
'''),
# Tracers
('eth/tracers/logger/logger.go', '''package logger
// Placeholder logger
type Logger interface{}
'''),
('eth/tracers/js/tracer.go', '''package js
// Placeholder JS tracer
type Tracer interface{}
'''),
('eth/tracers/native/tracer.go', '''package native
// Placeholder native tracer
type Tracer interface{}
'''),
# VM errors
('vmerrs/errors.go', '''package vmerrs
import "errors"
// Common VM errors
var (
ErrInvalidJump = errors.New("invalid jump")
ErrOutOfGas = errors.New("out of gas")
)
'''),
# Transaction pool
('interfaces/core/txpool/blobpool/blobpool.go', '''package blobpool
// Placeholder blobpool interface
type Interface interface{}
'''),
('interfaces/core/txpool/legacypool/legacypool.go', '''package legacypool
// Placeholder legacypool interface
type Interface interface{}
'''),
# Tracers
('interfaces/eth/tracers/js/js.go', '''package js
// Placeholder JS tracer interface
type Interface interface{}
'''),
('interfaces/eth/tracers/native/native.go', '''package native
// Placeholder native tracer interface
type Interface interface{}
'''),
# Test utils
('interfaces/trie/testutil/testutil.go', '''package testutil
// Placeholder test utilities
type TestUtil interface{}
'''),
# Accounts
('accounts/scwallet/wallet.go', '''package scwallet
// Placeholder smart card wallet
type Wallet interface{}
'''),
# Tests
('tests/utils/runner/runner.go', '''package runner
// Placeholder test runner
type Runner interface{}
'''),
# X warp
('x/warp/warp.go', '''package warp
// Placeholder warp interface
type Interface interface{}
'''),
# Ethdb memorydb
('ethdb/memorydb/memorydb.go', '''package memorydb
import "github.com/ethereum/go-ethereum/ethdb/memorydb"
// Re-export memorydb functions
var New = memorydb.New
var NewWithCap = memorydb.NewWithCap
'''),
]
for filepath, content in interfaces_to_create:
full_path = os.path.join('/Users/z/work/lux/evm', filepath)
os.makedirs(os.path.dirname(full_path), exist_ok=True)
with open(full_path, 'w') as f:
f.write(content)
print(f"Created {filepath}")