20 lines
638 B
Go
20 lines
638 B
Go
package adapters
|
|
|
|
import (
|
|
"context"
|
|
"math/big"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/core/types"
|
|
)
|
|
|
|
type ChainAdapter interface {
|
|
GetBlockByNumber(ctx context.Context, number int64) (*types.Block, error)
|
|
GetTransaction(ctx context.Context, hash common.Hash) (*types.Transaction, bool, error)
|
|
GetTransactionReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error)
|
|
GetCode(ctx context.Context, address common.Address) ([]byte, error)
|
|
GetBalance(ctx context.Context, address common.Address) (*big.Int, error)
|
|
GetGasPrice(ctx context.Context) (*big.Int, error)
|
|
ChainID() int64
|
|
}
|