16 lines
499 B
Go
16 lines
499 B
Go
package ethereum
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/kjannette/koin-ping/backend-go/internal/domain"
|
|
)
|
|
|
|
// EthereumObserver defines the interface for blockchain interaction.
|
|
// Any concrete implementation (JSON-RPC, WebSocket, mock) must satisfy this.
|
|
type EthereumObserver interface {
|
|
GetLatestBlockNumber(ctx context.Context) (int, error)
|
|
GetBlockTransactions(ctx context.Context, blockNumber int) ([]domain.NormalizedTx, error)
|
|
GetBalance(ctx context.Context, address string) (string, error)
|
|
}
|