bunker

package
v1.1.22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DynamicSigner

type DynamicSigner struct {
	sync.Mutex
	RelaysToAdvertise map[string]RelayReadWrite
	// contains filtered or unexported fields
}

func NewDynamicSigner

func NewDynamicSigner(
	getPrivateKey func(pubkey string) (string, error),
	authorizeSigning func(ev *event.T) bool,
	onEventSigned func(ev *event.T),
	authorizeNIP04 func() bool,
) DynamicSigner

func (*DynamicSigner) GetSession

func (p *DynamicSigner) GetSession(clientPubkey string) (Session, bool)

func (*DynamicSigner) HandleRequest

func (p *DynamicSigner) HandleRequest(ev *event.T) (
	req Request,
	resp Response,
	eventResponse *event.T,
	harmless bool,
	err error,
)

type RelayReadWrite

type RelayReadWrite struct {
	Read  bool `json:"read"`
	Write bool `json:"write"`
}

type Request

type Request struct {
	ID     string   `json:"id"`
	Method string   `json:"method"`
	Params []string `json:"params"`
}

type Response

type Response struct {
	ID     string `json:"id"`
	Error  string `json:"error,omitempty"`
	Result string `json:"result,omitempty"`
}

type Session

type Session struct {
	SharedKey []byte
}

func (Session) MakeResponse

func (s Session) MakeResponse(
	id string,
	requester string,
	result string,
	err error,
) (resp Response, evt *event.T, error error)

func (Session) ParseRequest

func (s Session) ParseRequest(event *event.T) (Request, error)

type Signer

type Signer interface {
	GetSession(clientPubkey string) (Session, bool)
	HandleRequest(ev *event.T) (req Request, resp Response, eventResponse *event.T, harmless bool, err error)
}

type StaticKeySigner

type StaticKeySigner struct {
	sync.Mutex
	RelaysToAdvertise map[string]RelayReadWrite
	// contains filtered or unexported fields
}

func NewStaticKeySigner

func NewStaticKeySigner(secretKey string) StaticKeySigner

func (*StaticKeySigner) GetSession

func (p *StaticKeySigner) GetSession(clientPubkey string) (Session, bool)

func (*StaticKeySigner) HandleRequest

func (p *StaticKeySigner) HandleRequest(ev *event.T) (
	req Request,
	resp Response,
	eventResponse *event.T,
	harmless bool,
	err error,
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL