package types

import (
	metatypes "github.com/CaduceusMetaverseProtocol/MetaTypes/types"
)

var (
	EmptyRootHash = metatypes.HexToHash("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421")
	// EmptyCodeHash is the known hash of the empty EVM bytecode.
	EmptyCodeHash = metatypes.HexToHash("c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470")
)

//
//type Block struct {
//	*basetype.MetaBlock
//}
//
//type Header struct {
//	*basetype.MetaBlockHeader
//}
//
//func (h *Header) Number() *big.Int {
//	return h.BlockNumber.GetInt()
//}
//
//func (h *Header) Parent() metatypes.Hash {
//	return *h.ParentHash
//}
//func (h *Header) Root() metatypes.Hash {
//	return *h.StateRoot
//}
//
//type Transaction struct {
//	*basetype.MetaProofTx
//}
//
//type Receipt struct {
//	*basetype.MetaReceipt
//}
//
//type Log struct {
//	*basetype.MetaTxLog
//}
//
//func NewLog(addr metatypes.Address, topics []metatypes.Hash, data []byte, number uint64) *Log {
//	l := &Log{
//		MetaTxLog: &basetype.MetaTxLog{
//			Address:     new(metatypes.Address),
//			Topics:      make([]*basetype.MetaTopic, len(topics)),
//			Data:        data,
//			BlockNumber: number,
//		},
//	}
//	l.Address.SetBytes(addr.Bytes())
//	for i, topic := range topics {
//		l.Topics[i] = &basetype.MetaTopic{
//			Topic: new(metatypes.Hash),
//		}
//		l.Topics[i].Topic.SetBytes(topic.Bytes())
//	}
//	return l
//}
//
////type GenesisAlloc struct {
////	*basetype.MetaGenesisAlloc
////}
//
//func CopyHeader(h *Header) *Header {
//	return &Header{
//		MetaBlockHeader: &basetype.MetaBlockHeader{
//			BlockNumber: h.BlockNumber,
//			ParentHash:  h.ParentHash,
//			Timestamp:   h.Timestamp,
//			Miner:       h.Miner,
//			GasLimit:    h.GasLimit,
//			GasUsed:     h.GasUsed,
//		},
//	}
//}
