Documentation
¶
Index ¶
- type MockFil
- func (m *MockFil) ChainHead(ctx context.Context) (*types.TipSet, error)
- func (m *MockFil) ChainReadObj(ctx context.Context, cid cid.Cid) ([]byte, error)
- func (m *MockFil) GasEstimateFeeCap(context.Context, *types.Message, int64, types.TipSetKey) (types.BigInt, error)
- func (m *MockFil) GasEstimateGasLimit(context.Context, *types.Message, types.TipSetKey) (int64, error)
- func (m *MockFil) GasEstimateGasPremium(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error)
- func (m *MockFil) GetAPI() string
- func (m *MockFil) MpoolGetNonce(context.Context, address.Address) (uint64, error)
- func (m *MockFil) MpoolPush(ctx context.Context, msg *types.SignedMessage) (cid.Cid, error)
- func (m *MockFil) Shutdown()
- func (m *MockFil) StateAccountKey(ctx context.Context, addr address.Address, tx types.TipSetKey) (address.Address, error)
- func (m *MockFil) StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error)
- func (m *MockFil) StateWaitMsg(ctx context.Context, cid cid.Cid, confidence uint64) (*api.MsgLookup, error)
- type Opts
- type Transactor
- type TransactorImpl
- func (t *TransactorImpl) Check(ctx context.Context, currencyID byte, chAddr string) (int64, int64, int64, *big.Int, *big.Int, string, string, error)
- func (t *TransactorImpl) Collect(ctx context.Context, currencyID byte, chAddr string) error
- func (t *TransactorImpl) Create(ctx context.Context, currencyID byte, toAddr string, amt *big.Int) (string, error)
- func (t *TransactorImpl) GenerateVoucher(ctx context.Context, currencyID byte, chAddr string, lane uint64, nonce uint64, ...) (string, error)
- func (t *TransactorImpl) GetBalance(ctx context.Context, currencyID byte, addr string) (*big.Int, error)
- func (t *TransactorImpl) GetHeight(ctx context.Context, currencyID byte) (int64, error)
- func (t *TransactorImpl) Settle(ctx context.Context, currencyID byte, chAddr string) error
- func (t *TransactorImpl) Topup(ctx context.Context, currencyID byte, chAddr string, amt *big.Int) error
- func (t *TransactorImpl) Update(ctx context.Context, currencyID byte, chAddr string, voucher string) error
- func (t *TransactorImpl) VerifyVoucher(currencyID byte, voucher string) (string, string, uint64, uint64, *big.Int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockFil ¶
type MockFil struct {
Server *httptest.Server
Lock sync.RWMutex
Height int
PaychBals map[string]*big.Int
PaychStats map[string]*paych8.State
// contains filtered or unexported fields
}
MockFil is a mocked filecoin network.
func (*MockFil) ChainReadObj ¶
Lotus API mock: ChainReadObj.
func (*MockFil) GasEstimateFeeCap ¶
func (m *MockFil) GasEstimateFeeCap(context.Context, *types.Message, int64, types.TipSetKey) (types.BigInt, error)
Lotus API mock: GasEstimateFeeCap.
func (*MockFil) GasEstimateGasLimit ¶
func (m *MockFil) GasEstimateGasLimit(context.Context, *types.Message, types.TipSetKey) (int64, error)
Lotus API mock: GasEstimateGasLimit.
func (*MockFil) GasEstimateGasPremium ¶
func (m *MockFil) GasEstimateGasPremium(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error)
Lotus API mock: GasEstimateGasPremium.
func (*MockFil) MpoolGetNonce ¶
Lotus API mock: MpoolGetNonce.
func (*MockFil) Shutdown ¶
func (m *MockFil) Shutdown()
Shutdown shuts down the mocked filecoin network.
func (*MockFil) StateAccountKey ¶
func (m *MockFil) StateAccountKey(ctx context.Context, addr address.Address, tx types.TipSetKey) (address.Address, error)
Lotus API mock: StateAccountKey.
type Opts ¶
type Opts struct {
/* Filecoin related */
// Boolean indicate if Filecoin is enabled.
FilecoinEnabled bool
// Filecoin network API address.
FilecoinAPI string
// Filecoin API auth token (empty if using Infura).
FilecoinAuthToken string
// Filecoin confidence epoch.
FilecoinConfidence *uint64
}
Opts is the options for the transactor.
type Transactor ¶
type Transactor interface {
// Create is used to create a payment chanel with given recipient and amount.
//
// @input - context, currency id, recipient address, amount.
//
// @output - channel address, error.
Create(ctx context.Context, currencyID byte, toAddr string, amt *big.Int) (string, error)
// Topup is used to topup a given payment channel with given amount.
//
// @input - context, currency id, channel address, amount.
//
// @output - error.
Topup(ctx context.Context, currencyID byte, chAddr string, amt *big.Int) error
// Check is used to check the status of a given payment channel.
//
// @input - context, currency id, channel address.
//
// @output - settling height, min settling height, current height, channel redeemed, channel balance, sender address, recipient address and error.
Check(ctx context.Context, currencyID byte, chAddr string) (int64, int64, int64, *big.Int, *big.Int, string, string, error)
// Update is used to update channel state with a voucher.
//
// @input - context, currency id, channel address, voucher.
//
// @output - error.
Update(ctx context.Context, currencyID byte, chAddr string, voucher string) error
// Settle is used to settle a payment channel.
//
// @input - context, currency id, channel address.
//
// @output - error.
Settle(ctx context.Context, currencyID byte, chAddr string) error
// Collect is used to collect a payment channel.
//
// @input - context, currency id, channel address.
//
// @output - error.
Collect(ctx context.Context, currencyID byte, chAddr string) error
// GenerateVoucher is used to generate a voucher.
//
// @input - context, currency id, channel address, lane number, nonce, redeemed amount.
//
// @output - voucher, error.
GenerateVoucher(ctx context.Context, currencyID byte, chAddr string, lane uint64, nonce uint64, redeemed *big.Int) (string, error)
// VerifyVoucher is used to decode a given voucher.
//
// @input - currency id, voucher.
//
// @output - sender address, channel address, lane number, nonce, redeemed, error.
VerifyVoucher(currencyID byte, voucher string) (string, string, uint64, uint64, *big.Int, error)
// GetHeight is used to get the current height of the chain.
//
// @input - context, currency id.
//
// @output - height, error.
GetHeight(ctx context.Context, currencyID byte) (int64, error)
// GetBalance is used to get the balance of a given address.
//
// @input - context, currency id, address.
//
// @output - balance, error.
GetBalance(ctx context.Context, currencyID byte, addr string) (*big.Int, error)
}
Transactor is the interface for an on-chain transactor. For each currency id, it can be used to access payment channel related on-chain transactions. The transactor uses the private key stored in the signer to sign and send transactions.
type TransactorImpl ¶
type TransactorImpl struct {
// contains filtered or unexported fields
}
TransactorImpl is the implementation of the Transactor interface.
func NewTransactorImpl ¶
func NewTransactorImpl(ctx context.Context, signer crypto.Signer, opts Opts) (*TransactorImpl, error)
NewTransactorImpl creates a new TransactorImpl.
@input - context, signer, options.
@output - store, error.
func (*TransactorImpl) Check ¶
func (t *TransactorImpl) Check(ctx context.Context, currencyID byte, chAddr string) (int64, int64, int64, *big.Int, *big.Int, string, string, error)
Check is used to check the status of a given payment channel.
@input - context, currency id, channel address.
@output - settling height, min settling height, current height, channel redeemed, channel balance, sender address, recipient address and error.
func (*TransactorImpl) Collect ¶
Collect is used to collect a payment channel.
@input - context, currency id, channel address.
@output - error.
func (*TransactorImpl) Create ¶
func (t *TransactorImpl) Create(ctx context.Context, currencyID byte, toAddr string, amt *big.Int) (string, error)
Create is used to create a payment chanel with given recipient and amount.
@input - context, currency id, recipient address, amount.
@output - channel address, error.
func (*TransactorImpl) GenerateVoucher ¶
func (t *TransactorImpl) GenerateVoucher(ctx context.Context, currencyID byte, chAddr string, lane uint64, nonce uint64, redeemed *big.Int) (string, error)
GenerateVoucher is used to generate a voucher.
@input - context, currency id, channel address, lane number, nonce, redeemed amount.
@output - voucher, error.
func (*TransactorImpl) GetBalance ¶
func (t *TransactorImpl) GetBalance(ctx context.Context, currencyID byte, addr string) (*big.Int, error)
GetBalance is used to get the balance of a given address.
@input - context, currency id, address.
@output - balance, error.
func (*TransactorImpl) GetHeight ¶
GetHeight is used to get the current height of the chain.
@input - context, currency id.
@output - height, error.
func (*TransactorImpl) Settle ¶
Settle is used to settle a payment channel.
@input - context, currency id, channel address.
@output - error.
func (*TransactorImpl) Topup ¶
func (t *TransactorImpl) Topup(ctx context.Context, currencyID byte, chAddr string, amt *big.Int) error
Topup is used to topup a given payment channel with given amount.
@input - context, currency id, channel address, amount.
@output - error.
func (*TransactorImpl) Update ¶
func (t *TransactorImpl) Update(ctx context.Context, currencyID byte, chAddr string, voucher string) error
Update is used to update channel state with a voucher.
@input - context, currency id, channel address, voucher.
@output - error.
func (*TransactorImpl) VerifyVoucher ¶
func (t *TransactorImpl) VerifyVoucher(currencyID byte, voucher string) (string, string, uint64, uint64, *big.Int, error)
VerifyVoucher is used to decode a given voucher.
@input - currency id, voucher.
@output - sender address, channel address, lane number, nonce, redeemed, error.