Versions in this module Expand all Collapse all v1 v1.0.0 Dec 21, 2023 Changes in this version + var ErrorDisconnected = fmt.Errorf("disconnecting") + func CleanWallet(in string) (string, error) + func DefaultLogger() *zap.Logger + func HandleAuthorize(ctx *StratumContext, event JsonRpcEvent) error + func HandleExtranonceSubscribe(ctx *StratumContext, event JsonRpcEvent) error + func HandleSubmit(ctx *StratumContext, event JsonRpcEvent) error + func HandleSubscribe(ctx *StratumContext, event JsonRpcEvent) error + func NewMockContext(ctx context.Context, logger *zap.Logger, state any) (*StratumContext, *MockConnection) + func SendExtranonce(ctx *StratumContext) + type ContextSummary struct + RemoteAddr string + RemoteApp string + RemotePort int + WalletAddr string + WorkerName string + type DisconnectChannel chan *StratumContext + type EventHandler func(ctx *StratumContext, event JsonRpcEvent) error + type JsonRpcEvent struct + Id any + Method StratumMethod + Params []any + Version string + func NewEvent(id string, method string, params []any) JsonRpcEvent + func UnmarshalEvent(in string) (JsonRpcEvent, error) + type JsonRpcResponse struct + Error []any + Id any + Result any + func NewResponse(event JsonRpcEvent, results any, err []any) JsonRpcResponse + func UnmarshalResponse(in string) (JsonRpcResponse, error) + type LineCallback func(line string) error + type MockAddr struct + func (ma MockAddr) Network() string + func (ma MockAddr) String() string + type MockConnection struct + func NewMockConnection() *MockConnection + func (mc *MockConnection) AsyncReadTestDataFromBuffer(handler func([]byte)) + func (mc *MockConnection) AsyncWriteTestDataToReadBuffer(s string) + func (mc *MockConnection) Close() error + func (mc *MockConnection) LocalAddr() net.Addr + func (mc *MockConnection) Read(b []byte) (int, error) + func (mc *MockConnection) ReadTestDataFromBuffer(handler func([]byte)) + func (mc *MockConnection) RemoteAddr() net.Addr + func (mc *MockConnection) SetDeadline(t time.Time) error + func (mc *MockConnection) SetReadDeadline(t time.Time) error + func (mc *MockConnection) SetWriteDeadline(t time.Time) error + func (mc *MockConnection) Write(b []byte) (int, error) + type StateGenerator func() any + type StratumClientListener interface + OnConnect func(ctx *StratumContext) + OnDisconnect func(ctx *StratumContext) + type StratumContext struct + Extranonce string + Id int32 + Logger *zap.Logger + RemoteAddr string + RemoteApp string + RemotePort int + State any + WalletAddr string + WorkerName string + func (StratumContext) Deadline() (time.Time, bool) + func (StratumContext) Done() <-chan struct{} + func (StratumContext) Err() error + func (d StratumContext) Value(key any) any + func (sc *StratumContext) Connected() bool + func (sc *StratumContext) Disconnect() + func (sc *StratumContext) Reply(response JsonRpcResponse) error + func (sc *StratumContext) ReplyBadShare(id any) error + func (sc *StratumContext) ReplyDupeShare(id any) error + func (sc *StratumContext) ReplyLowDiffShare(id any) error + func (sc *StratumContext) ReplyStaleShare(id any) error + func (sc *StratumContext) Send(event JsonRpcEvent) error + func (sc *StratumContext) String() string + func (sc *StratumContext) Summary() ContextSummary + type StratumHandlerMap map[string]EventHandler + func DefaultHandlers() StratumHandlerMap + type StratumListener struct + func NewListener(cfg StratumListenerConfig) *StratumListener + func (s *StratumListener) HandleEvent(ctx *StratumContext, event JsonRpcEvent) error + func (s *StratumListener) Listen(ctx context.Context) error + type StratumListenerConfig struct + ClientListener StratumClientListener + HandlerMap StratumHandlerMap + Logger *zap.Logger + Port string + StateGenerator StateGenerator + func DefaultConfig(logger *zap.Logger) StratumListenerConfig + type StratumMethod string + const StratumMethodAuthorize + const StratumMethodExtranonceSubscribe + const StratumMethodSubmit + const StratumMethodSubscribe + type StratumStats struct + Disconnects int64