 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
      View Source
      
  
    const LaneStatesAmtBitwidth = 3
    
      View Source
      
  
const SettleDelay = builtin.EpochsInHour * 12
    Variables ¶
      View Source
      
  
var Methods = map[abi.MethodNum]builtin.MethodMeta{ 1: builtin.NewMethodMeta("Constructor", *new(func(*ConstructorParams) *abi.EmptyValue)), 2: builtin.NewMethodMeta("UpdateChannelState", *new(func(*UpdateChannelStateParams) *abi.EmptyValue)), 3: builtin.NewMethodMeta("Settle", *new(func(*abi.EmptyValue) *abi.EmptyValue)), 4: builtin.NewMethodMeta("Collect", *new(func(*abi.EmptyValue) *abi.EmptyValue)), }
Functions ¶
This section is empty.
Types ¶
type ConstructorParams ¶
func (*ConstructorParams) MarshalCBOR ¶
func (t *ConstructorParams) MarshalCBOR(w io.Writer) error
func (*ConstructorParams) UnmarshalCBOR ¶
func (t *ConstructorParams) UnmarshalCBOR(r io.Reader) (err error)
type LaneState ¶
The Lane state tracks the latest (highest) voucher nonce used to merge the lane as well as the amount it has already redeemed.
type ModVerifyParams ¶
type ModVerifyParams struct {
	// Actor on which to invoke the method.
	Actor addr.Address
	// Method to invoke.
	Method abi.MethodNum
	// Pre-serialized method parameters.
	Data []byte
}
    Modular Verification method
func (*ModVerifyParams) MarshalCBOR ¶
func (t *ModVerifyParams) MarshalCBOR(w io.Writer) error
func (*ModVerifyParams) UnmarshalCBOR ¶
func (t *ModVerifyParams) UnmarshalCBOR(r io.Reader) (err error)
type SignedVoucher ¶
type SignedVoucher struct {
	// ChannelAddr is the address of the payment channel this signed voucher is valid for
	ChannelAddr addr.Address
	// TimeLockMin sets a min epoch before which the voucher cannot be redeemed
	TimeLockMin abi.ChainEpoch
	// TimeLockMax sets a max epoch beyond which the voucher cannot be redeemed
	// TimeLockMax set to 0 means no timeout
	TimeLockMax abi.ChainEpoch
	// (optional) The SecretHash is used by `To` to validate
	SecretHash []byte
	// (optional) Extra can be specified by `From` to add a verification method to the voucher.
	Extra *ModVerifyParams
	// Specifies which lane the Voucher merges into (will be created if does not exist)
	Lane uint64
	// Nonce is set by `From` to prevent redemption of stale vouchers on a lane
	Nonce uint64
	// Amount voucher can be redeemed for
	Amount big.Int
	// (optional) MinSettleHeight can extend channel MinSettleHeight if needed
	MinSettleHeight abi.ChainEpoch
	// (optional) Set of lanes to be merged into `Lane`
	Merges []Merge
	// Sender's signature over the voucher
	Signature *crypto.Signature
}
    A voucher is sent by `From` to `To` off-chain in order to enable `To` to redeem payments on-chain in the future
func (*SignedVoucher) MarshalCBOR ¶
func (t *SignedVoucher) MarshalCBOR(w io.Writer) error
func (*SignedVoucher) SigningBytes ¶
func (t *SignedVoucher) SigningBytes() ([]byte, error)
func (*SignedVoucher) UnmarshalCBOR ¶
func (t *SignedVoucher) UnmarshalCBOR(r io.Reader) (err error)
type State ¶
type State struct {
	// Channel owner, who has funded the actor
	From addr.Address
	// Recipient of payouts from channel
	To addr.Address
	// Amount successfully redeemed through the payment channel, paid out on `Collect()`
	ToSend abi.TokenAmount
	// Height at which the channel can be `Collected`
	SettlingAt abi.ChainEpoch
	// Height before which the channel `ToSend` cannot be collected
	MinSettleHeight abi.ChainEpoch
	// Collections of lane states for the channel, maintained in ID order.
	LaneStates cid.Cid // AMT<LaneState>
}
    A given payment channel actor is established by From to enable off-chain microtransactions to To to be reconciled and tallied on chain.
type StateSummary ¶
type StateSummary struct {
	Redeemed abi.TokenAmount
}
    func CheckStateInvariants ¶
func CheckStateInvariants(st *State, store adt.Store, balance abi.TokenAmount) (*StateSummary, *builtin.MessageAccumulator)
Checks internal invariants of paych state.
type UpdateChannelStateParams ¶
type UpdateChannelStateParams struct {
	Sv     SignedVoucher
	Secret []byte
}
    func (*UpdateChannelStateParams) MarshalCBOR ¶
func (t *UpdateChannelStateParams) MarshalCBOR(w io.Writer) error
func (*UpdateChannelStateParams) UnmarshalCBOR ¶
func (t *UpdateChannelStateParams) UnmarshalCBOR(r io.Reader) (err error)
 Click to show internal directories. 
   Click to hide internal directories.