1package remote
2
3import (
4	"context"
5
6	"github.com/keybase/client/go/libkb"
7	"github.com/keybase/client/go/protocol/stellar1"
8)
9
10type RecentPaymentsArg struct {
11	AccountID       stellar1.AccountID
12	Cursor          *stellar1.PageCursor
13	Limit           int
14	SkipPending     bool
15	IncludeAdvanced bool
16}
17
18type Remoter interface {
19	AccountSeqno(ctx context.Context, accountID stellar1.AccountID) (uint64, error)
20	Balances(ctx context.Context, accountID stellar1.AccountID) ([]stellar1.Balance, error)
21	Details(ctx context.Context, accountID stellar1.AccountID) (stellar1.AccountDetails, error)
22	SubmitPayment(ctx context.Context, post stellar1.PaymentDirectPost) (stellar1.PaymentResult, error)
23	SubmitRelayPayment(ctx context.Context, post stellar1.PaymentRelayPost) (stellar1.PaymentResult, error)
24	SubmitRelayClaim(context.Context, stellar1.RelayClaimPost) (stellar1.RelayClaimResult, error)
25	SubmitPathPayment(mctx libkb.MetaContext, post stellar1.PathPaymentPost) (stellar1.PaymentResult, error)
26	SubmitMultiPayment(ctx context.Context, post stellar1.PaymentMultiPost) (stellar1.SubmitMultiRes, error)
27	AcquireAutoClaimLock(context.Context) (string, error)
28	ReleaseAutoClaimLock(context.Context, string) error
29	NextAutoClaim(context.Context) (*stellar1.AutoClaim, error)
30	RecentPayments(ctx context.Context, arg RecentPaymentsArg) (stellar1.PaymentsPage, error)
31	PendingPayments(ctx context.Context, accountID stellar1.AccountID, limit int) ([]stellar1.PaymentSummary, error)
32	PaymentDetails(ctx context.Context, accountID stellar1.AccountID, txID string) (res stellar1.PaymentDetails, err error)
33	PaymentDetailsGeneric(ctx context.Context, txID string) (res stellar1.PaymentDetails, err error)
34	GetAccountDisplayCurrency(ctx context.Context, accountID stellar1.AccountID) (string, error)
35	ExchangeRate(ctx context.Context, currency string) (stellar1.OutsideExchangeRate, error)
36	SubmitRequest(ctx context.Context, post stellar1.RequestPost) (stellar1.KeybaseRequestID, error)
37	RequestDetails(ctx context.Context, requestID stellar1.KeybaseRequestID) (stellar1.RequestDetails, error)
38	CancelRequest(ctx context.Context, requestID stellar1.KeybaseRequestID) error
39	MarkAsRead(ctx context.Context, accountID stellar1.AccountID, mostRecentID stellar1.TransactionID) error
40	IsAccountMobileOnly(ctx context.Context, accountID stellar1.AccountID) (bool, error)
41	SetAccountMobileOnly(ctx context.Context, accountID stellar1.AccountID) error
42	MakeAccountAllDevices(ctx context.Context, accountID stellar1.AccountID) error
43	ServerTimeboundsRecommendation(ctx context.Context) (stellar1.TimeboundsRecommendation, error)
44	SetInflationDestination(ctx context.Context, signedTx string) error
45	GetInflationDestinations(ctx context.Context) (ret []stellar1.PredefinedInflationDestination, err error)
46	NetworkOptions(ctx context.Context) (stellar1.NetworkOptions, error)
47	DetailsPlusPayments(ctx context.Context, accountID stellar1.AccountID) (stellar1.DetailsPlusPayments, error)
48	AllDetailsPlusPayments(mctx libkb.MetaContext) ([]stellar1.DetailsPlusPayments, error)
49	ChangeTrustline(ctx context.Context, signedTx string) error
50	FindPaymentPath(mctx libkb.MetaContext, query stellar1.PaymentPathQuery) (stellar1.PaymentPath, error)
51	PostAnyTransaction(mctx libkb.MetaContext, signedTx string) error
52	FuzzyAssetSearch(mctx libkb.MetaContext, arg stellar1.FuzzyAssetSearchArg) ([]stellar1.Asset, error)
53	ListPopularAssets(mctx libkb.MetaContext, arg stellar1.ListPopularAssetsArg) (stellar1.AssetListResult, error)
54}
55