core

package
v0.0.0-...-ffaf892 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountEventsNotificator

type AccountEventsNotificator struct {
	// contains filtered or unexported fields
}

func NewNotificator

func NewNotificator(logger *zap.Logger, storage Storage, tonapiKey string) (*AccountEventsNotificator, error)

func (*AccountEventsNotificator) IsSubscribed

func (n *AccountEventsNotificator) IsSubscribed(userID telegram.UserID, account ton.AccountID) bool

func (*AccountEventsNotificator) Run

func (n *AccountEventsNotificator) Run(ctx context.Context, messageCh chan<- telegram.Message)

func (*AccountEventsNotificator) Subscribe

func (n *AccountEventsNotificator) Subscribe(userID telegram.UserID, account ton.Address) error

func (*AccountEventsNotificator) Unsubscribe

func (n *AccountEventsNotificator) Unsubscribe(userID telegram.UserID) error

type AccountEventsSubscription

type AccountEventsSubscription struct {
	TelegramUserID telegram.UserID
	Account        ton.AccountID
}

type Bridge

type Bridge struct {
	// contains filtered or unexported fields
}

Bridge receives notifications from the HTTP Bridge and sends them to telegram users.

func NewBridge

func NewBridge(logger *zap.Logger, storage Storage, messageCh chan<- telegram.Message) (*Bridge, error)

func (*Bridge) HandleWebhook

func (b *Bridge) HandleWebhook(clientID ClientID, topic string)

HandleWebhook is called by the HTTP Bridge when it receives a new event.

func (*Bridge) Subscribe

func (b *Bridge) Subscribe(userID telegram.UserID, clientID ClientID, origin string) error

Subscribe subscribes a telegram user to the HTTP Bridge events.

func (*Bridge) Unsubscribe

func (b *Bridge) Unsubscribe(userID telegram.UserID, clientID *ClientID) error

Unsubscribe unsubscribes a telegram user from the HTTP Bridge events.

type BridgeSubscription

type BridgeSubscription struct {
	TelegramUserID telegram.UserID
	ClientID       ClientID
	Origin         string
}

type ClientID

type ClientID string

ClientID is a unique identifier of a client. See more details at https://github.com/ton-blockchain/ton-connect/blob/main/bridge.md#http-bridge.

type Storage

type Storage interface {
	SubscribeToAccountEvents(ctx context.Context, userID telegram.UserID, account ton.Address) error
	GetAccountEventsSubscriptions(ctx context.Context) ([]AccountEventsSubscription, error)
	UnsubscribeAccountEvents(ctx context.Context, userID telegram.UserID) error

	SubscribeToBridgeEvents(ctx context.Context, userID telegram.UserID, clientID ClientID, origin string) error
	UnsubscribeFromBridgeEvents(ctx context.Context, userID telegram.UserID, clientID *ClientID) error

	GetBridgeSubscriptions(ctx context.Context) ([]BridgeSubscription, error)
}

type TraceEventData

type TraceEventData struct {
	AccountIDs []tongo.AccountID `json:"accounts"`
	Hash       string            `json:"hash"`
}

Jump to

Keyboard shortcuts

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