Documentation
¶
Index ¶
- Variables
- func CleanAndExpandPath(path string) string
- func GlogShim(c *cli.Context)
- func MkGetLndAPI(cmdCtx *cli.Context) api.NewAPICall
- type ChannelBalance
- type ClosedChannel
- type InfoCallback
- type InfoReport
- type Interval
- type Invalidatable
- type MessageCallback
- type NodeDataReport
- type NodeDataReportCallback
- type NodeDetails
- type NodeIdentifier
- type Plugin
- type PluginMessage
- type ReentrancyBlock
- type ReportingSettings
Constants ¶
This section is empty.
Variables ¶
var GlogFlags = []cli.Flag{ cli.IntFlag{ Name: "verbosity", Value: 0, Usage: "log level for V logs", Hidden: false, }, cli.BoolFlag{ Name: "logtostderr", Usage: "log to standard error instead of files", Hidden: true, }, cli.IntFlag{ Name: "stderrthreshold", Usage: "logs at or above this threshold go to stderr", Hidden: true, }, cli.BoolFlag{ Name: "alsologtostderr", Usage: "log to standard error as well as files", Hidden: true, }, cli.StringFlag{ Name: "vmodule", Usage: "comma-separated list of pattern=N settings for file-filtered logging", Hidden: true, }, cli.StringFlag{ Name: "log_dir", Usage: "If non-empty, write log files in this directory", Hidden: true, }, cli.StringFlag{ Name: "log_backtrace_at", Usage: "when logging hits line file:N, emit a stack trace", Hidden: true, Value: ":0", }, }
Functions ¶
func CleanAndExpandPath ¶ added in v0.0.49
CleanAndExpandPath expands environment variables and leading ~ in the passed path, cleans the result, and returns it. This function is taken from https://github.com/btcsuite/btcd
func MkGetLndAPI ¶ added in v0.2.0
func MkGetLndAPI(cmdCtx *cli.Context) api.NewAPICall
Types ¶
type ChannelBalance ¶
type ChannelBalance struct { // Active - is channel active Active bool `json:"active"` // Private - is channel private Private bool `json:"private"` // Deprecated - ActivePrevious is whether channel was Active in previous run ActivePrevious bool `json:"active_previous"` // LocalPubkey is the local node pubkey LocalPubkey string `json:"local_pubkey"` // RemotePubkey is the remote node pubkey RemotePubkey string `json:"remote_pubkey"` // ChanID - short channel id ChanID uint64 `json:"chan_id"` // Capacity - capacity of channel in satoshis Capacity uint64 `json:"capacity"` // RemoteNominator - is the remote side nominator RemoteNominator uint64 `json:"remote_nominator"` // LocalNominator - is the local side nominator LocalNominator uint64 `json:"local_nominator"` // Denominator - is the denominator (with high entropy allowed this is more or less channnel capacity) Denominator uint64 `json:"denominator"` // Deprecated - RemoteNominatorDiff is the difference of RemoteNominator between now and previous run RemoteNominatorDiff int64 `json:"remote_nominator_diff"` // Deprecated - LocalNominatorDiff is the difference of LocalNominator between now and previous run LocalNominatorDiff int64 `json:"local_nominator_diff"` // Deprecated - DenominatorDiff is the difference of Denominator between now and previous run DenominatorDiff int64 `json:"denominator_diff"` // ActiveRemote - does other node specify channel as active ActiveRemote bool `json:"active_remote"` // Deprecated - ActiveRemotePrevious - ActiveRemote from previous run ActiveRemotePrevious bool `json:"active_remote_previous"` // ActiveLocal - does current node specify channel as active ActiveLocal bool `json:"active_local"` // Deprecated - ActiveLocalPrevious - ActiveLocal from previous run ActiveLocalPrevious bool `json:"active_local_previous"` }
ChannelBalance struct
type ClosedChannel ¶
type ClosedChannel struct {
ChannelID uint64 `json:"channel_id"`
}
ClosedChannel struct
type InfoCallback ¶ added in v0.0.5
type InfoCallback func(ctx context.Context, report *InfoReport) bool
InfoCallback represents the info callback
type InfoReport ¶ added in v0.0.5
type InfoReport struct { UniqueID string `json:"uniqueId,omitempty"` // optional unique identifier Timestamp entities.JsonTime `json:"timestamp"` api.NodeInfoAPIExtended }
InfoReport struct
type Interval ¶
type Interval int
Interval represents the enum of possible intervals
const ( // ManualRequest means just do it once ManualRequest Interval = iota // Second means once per second (useful just for testing) Second // TenSeconds means once every ten seconds TenSeconds // Minute means once every minute Minute // TenMinutes means once every ten minutes TenMinutes // Hour means once every hour Hour )
func (*Interval) MarshalJSON ¶
MarshalJSON is used for JSON serialiazation of interval
func (*Interval) UnmarshalJSON ¶
UnmarshalJSON is used for JSON deserialiazation of interval
type Invalidatable ¶ added in v0.0.49
type Invalidatable interface {
Invalidate() error
}
Invalidatable interface.
type MessageCallback ¶ added in v0.0.49
type MessageCallback func(PluginMessage) error
MessageCallback is callback function which is called by plugin to send message to connector
type NodeDataReport ¶ added in v0.0.41
type NodeDataReport struct { ReportingSettings // Chain - should be bitcoin (bitcoin, litecoin) Chain string `json:"chain"` // Network - should be mainnet (regtest, testnet, mainnet) Network string `json:"network"` // Pubkey - node pubkey PubKey string `json:"pubkey"` // UniqueID is the optional unique identifier UniqueID string `json:"uniqueId,omitempty"` // Timestamp - timestamp of report Timestamp entities.JsonTime `json:"timestamp"` // ChangedChannels - contains all channels were balance has changed ChangedChannels []ChannelBalance `json:"changed_channels"` // ClosedChannels - contains all channels that were determined to be closed ClosedChannels []ClosedChannel `json:"closed_channels"` // Node Details NodeDetails *NodeDetails `json:"node_details,omitempty"` }
NodeDataReport struct
type NodeDataReportCallback ¶ added in v0.0.41
type NodeDataReportCallback func(ctx context.Context, report *NodeDataReport) bool
NodeDataReportCallback represents the nodedata callback
type NodeDetails ¶ added in v0.0.41
type NodeDetails struct { NodeVersion string `json:"node_version"` IsSyncedToChain bool `json:"is_synced_to_chain"` IsSyncedToGraph bool `json:"is_synced_to_graph"` AgentVersion string `json:"agent_version"` // will be filled before sending OnChainBalanceNotReported bool `json:"onchain_balance_not_reported,omitempty"` // or else we cannot distinguish 0 and disallowed to report OnChainBalanceConfirmed uint64 `json:"onchain_balance_confirmed"` OnChainBalanceTotal uint64 `json:"onchain_balance_total"` api.NodeInfoAPIExtended }
NodeDetails struct
type NodeIdentifier ¶
type NodeIdentifier struct { Identifier string `json:"identifier"` UniqueID string `json:"unique_id"` }
NodeIdentifier represents the pubkey and optional unique identifier
func (*NodeIdentifier) GetID ¶ added in v0.0.41
func (n *NodeIdentifier) GetID() string
GetID obtains the string representation of the node identifier
type Plugin ¶ added in v0.0.49
type Plugin interface { // Execute can be called multiple times for the same job // It's plugin responsibility to check if the job is already running and ignore such requests Execute(jobID int64, data []byte, msgCallback MessageCallback) error }
Plugin is temporary interface for plugins. This will probably be replaced by gRPC interface
type PluginMessage ¶ added in v0.0.49
PluginMessage is structure of message sent from plugin to connector
type ReentrancyBlock ¶ added in v0.0.17
type ReentrancyBlock struct {
// contains filtered or unexported fields
}
ReentrancyBlock is used to block reentrancy based on string ID
func NewReentrancyBlock ¶ added in v0.0.17
func NewReentrancyBlock() *ReentrancyBlock
NewReentrancyBlock constructs a new ReentrancyBlock
func (*ReentrancyBlock) Enter ¶ added in v0.0.17
func (r *ReentrancyBlock) Enter(id string) bool
Enter is the acquire lock method (opposite of Release)
func (*ReentrancyBlock) Release ¶ added in v0.0.17
func (r *ReentrancyBlock) Release(id string)
Release is the drop lock method (opposite of Enter)
type ReportingSettings ¶
type ReportingSettings struct { // GraphPollInterval - interval for graph polling GraphPollInterval time.Duration `json:"-"` // NoopInterval - send keepalive also when no changes happened NoopInterval time.Duration `json:"-"` // Filter is used to filter specific channels Filter filter.FilteringInterface `json:"-"` // PollInterval - defines how often the polling happens PollInterval Interval `json:"poll_interval"` // AllowedEntropy - is user specified entropy that can be reported AllowedEntropy int `json:"allowed_entropy"` // 64 bits is the default // AllowPrivateChannels - whether private channels were allowed (fitering will set this to true too) AllowPrivateChannels bool `json:"allow_private_channels"` // default is false // NotSyncedToChainCoolDown - how long to wait before reporting node as not synced to chain NotSyncedToChainCoolDown time.Duration `json:"-"` }
ReportingSettings struct