channels

package
v0.0.0-...-6c97315 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2017 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusCreated = 1
	StatusOpen    = 2
	StatusClosing = 3
	StatusClosed  = 4
)
View Source
const (
	NetMain     = "mainnet"
	NetTestnet3 = "testnet3"
)
View Source
const (
	Version = 1
)

Variables

View Source
var DefaultReceiverConfig = ReceiverConfig{
	Net:     NetTestnet3,
	Timeout: 1008,
	FeeRate: 300,
}
View Source
var DefaultSenderConfig = SenderConfig{
	Net:        NetTestnet3,
	MinTimeout: 144,
	MaxTimeout: 1008,
	MinFeeRate: 10,
	MaxFeeRate: 300,
}
View Source
var ErrAmountTooSmall = errors.New("amount is too small")
View Source
var ErrInsufficientCapacity = errors.New("amount exceeds channel capacity")
View Source
var ErrInvalidAddress = errors.New("invalid address")
View Source
var ErrNotStatusClosing = errors.New("channel is not in state closing")
View Source
var ErrNotStatusCreated = errors.New("channel is not in state created")
View Source
var ErrNotStatusOpen = errors.New("channel is not in state open")

Functions

This section is empty.

Types

type Receiver

type Receiver struct {
	State SharedState
	// contains filtered or unexported fields
}

func LoadReceiver

func LoadReceiver(c ReceiverConfig, state SharedState, privKey *btcec.PrivateKey) (*Receiver, error)

func NewReceiver

func NewReceiver(c ReceiverConfig, receiverOutput string, privKey *btcec.PrivateKey) (*Receiver, error)

func (*Receiver) Close

func (*Receiver) CloseMined

func (r *Receiver) CloseMined() error

func (*Receiver) Create

func (*Receiver) Open

func (r *Receiver) Open(txout *wire.TxOut, req *models.OpenRequest) (*models.OpenResponse, error)

TODO: add nconf param and validate according to config

func (*Receiver) Send

func (r *Receiver) Send(amount int64, req *models.SendRequest) (*models.SendResponse, error)

func (*Receiver) Status

func (*Receiver) Validate

func (r *Receiver) Validate(amount int64, payment []byte) (bool, error)

type ReceiverConfig

type ReceiverConfig struct {
	Net     string
	Timeout int64
	FeeRate int64
}

type Sender

type Sender struct {
	State SharedState
	// contains filtered or unexported fields
}

func LoadSender

func LoadSender(c SenderConfig, state SharedState, privKey *btcec.PrivateKey) (*Sender, error)

func NewSender

func NewSender(c SenderConfig, privKey *btcec.PrivateKey) (*Sender, error)

func (*Sender) CloseMined

func (s *Sender) CloseMined() error

func (*Sender) GetCloseRequest

func (s *Sender) GetCloseRequest() (*models.CloseRequest, error)

func (*Sender) GetCreateRequest

func (s *Sender) GetCreateRequest(outputAddr string) (*models.CreateRequest, error)

func (*Sender) GetOpenRequest

func (s *Sender) GetOpenRequest(txid string, vout uint32, amount int64) (*models.OpenRequest, error)

func (*Sender) GetSendRequest

func (s *Sender) GetSendRequest(amount int64, payment []byte) (*models.SendRequest, error)

func (*Sender) GotCloseResponse

func (s *Sender) GotCloseResponse(resp *models.CloseResponse) error

func (*Sender) GotCreateResponse

func (s *Sender) GotCreateResponse(resp *models.CreateResponse) error

func (*Sender) GotOpenResponse

func (s *Sender) GotOpenResponse(resp *models.OpenResponse) error

func (*Sender) GotSendResponse

func (s *Sender) GotSendResponse(amount int64, payment []byte, resp *models.SendResponse) error

func (*Sender) Refund

func (s *Sender) Refund() ([]byte, error)

type SenderConfig

type SenderConfig struct {
	Net string

	MinTimeout int64
	MaxTimeout int64

	MinFeeRate int64
	MaxFeeRate int64
}

type SharedState

type SharedState struct {
	Version int
	Net     string
	Timeout int64
	Fee     int64

	Status Status

	SenderPubKey   []byte
	ReceiverPubKey []byte

	SenderOutput   string
	ReceiverOutput string

	FundingTxID string
	FundingVout uint32
	Capacity    int64
	BlockHeight int

	Balance      int64
	Count        int
	PaymentsHash [32]byte
	SenderSig    []byte
}

func (*SharedState) GetClosureTx

func (s *SharedState) GetClosureTx(balance int64, hash [32]byte) (*wire.MsgTx, error)

func (*SharedState) GetClosureTxSigned

func (s *SharedState) GetClosureTxSigned(balance int64, hash [32]byte, senderSig []byte, privKey *btcec.PrivateKey) ([]byte, error)

func (*SharedState) GetFundingScript

func (s *SharedState) GetFundingScript() ([]byte, string, error)

func (*SharedState) GetNet

func (ss *SharedState) GetNet() (*chaincfg.Params, error)

func (*SharedState) GetRefundTxSigned

func (s *SharedState) GetRefundTxSigned(privKey *btcec.PrivateKey) ([]byte, error)

func (*SharedState) ReceiverAddressPubKey

func (ss *SharedState) ReceiverAddressPubKey() (*btcutil.AddressPubKey, error)

func (*SharedState) SenderAddressPubKey

func (ss *SharedState) SenderAddressPubKey() (*btcutil.AddressPubKey, error)

type Status

type Status int

func (Status) String

func (s Status) String() string

Jump to

Keyboard shortcuts

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