Documentation ¶
Index ¶
- Constants
- Variables
- type Config
- func (c *Config) FeederService() FeederService
- func (c *Config) OperatorService() OperatorService
- func (c *Config) PubSubService() PubSubService
- func (c *Config) RepoManager() ports.RepoManager
- func (c *Config) TradeService() TradeService
- func (c *Config) UnlockerService() UnlockerService
- func (c *Config) Validate() error
- func (c *Config) WalletService() WalletService
- type FeederService
- type OperatorService
- type PubSubService
- type TradeService
- type UnlockerService
- type WalletService
Constants ¶
View Source
const (
DBBadger = "badger"
)
Variables ¶
View Source
var ( SupportedDBType = map[string]struct{}{ DBBadger: {}, } )
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v1.0.0
type Config struct { DBType string DBConfig interface{} OceanWallet ports.WalletService SecurePubSub ports.SecurePubSub PriceFeederSvc ports.PriceFeeder FeeBalanceThreshold uint64 TradePriceSlippage decimal.Decimal TxSatsPerByte decimal.Decimal // contains filtered or unexported fields }
func (*Config) FeederService ¶ added in v1.0.0
func (c *Config) FeederService() FeederService
func (*Config) OperatorService ¶ added in v1.0.0
func (c *Config) OperatorService() OperatorService
func (*Config) PubSubService ¶ added in v1.0.0
func (c *Config) PubSubService() PubSubService
func (*Config) RepoManager ¶ added in v1.0.0
func (c *Config) RepoManager() ports.RepoManager
func (*Config) TradeService ¶ added in v1.0.0
func (c *Config) TradeService() TradeService
func (*Config) UnlockerService ¶ added in v1.0.0
func (c *Config) UnlockerService() UnlockerService
func (*Config) WalletService ¶ added in v1.0.0
func (c *Config) WalletService() WalletService
type FeederService ¶ added in v1.0.0
type FeederService interface { AddPriceFeed( ctx context.Context, market ports.Market, source, ticker string, ) (string, error) StartPriceFeed(ctx context.Context, id string) error StopPriceFeed(ctx context.Context, id string) error UpdatePriceFeed(ctx context.Context, id, source, ticker string) error RemovePriceFeed(ctx context.Context, id string) error GetPriceFeed(ctx context.Context, id string) (ports.PriceFeedInfo, error) ListSources(ctx context.Context) []string ListPriceFeeds(ctx context.Context) ([]ports.PriceFeedInfo, error) Close() }
func NewFeederService ¶ added in v1.0.0
func NewFeederService( feederSvc ports.PriceFeeder, repoManager ports.RepoManager, ) (FeederService, error)
type OperatorService ¶
type OperatorService interface { // Fee account DeriveFeeAddresses(ctx context.Context, num int) ([]string, error) ListFeeExternalAddresses(ctx context.Context) ([]string, error) GetFeeBalance(ctx context.Context) (ports.Balance, error) WithdrawFeeFunds( ctx context.Context, password string, outputs []ports.TxOutput, millisatsPerByte uint64, ) (string, error) // Market account NewMarket( ctx context.Context, market ports.Market, marketName string, basePercentageFee, quotePercentageFee, baseFixedFee, quoteFixedFee uint64, baseAssetPrecision, quoteAssetPrecision, strategyType uint, ) (ports.MarketInfo, error) GetMarketInfo( ctx context.Context, market ports.Market, ) (ports.MarketInfo, error) DeriveMarketAddresses( ctx context.Context, market ports.Market, num int, ) ([]string, error) ListMarketExternalAddresses( ctx context.Context, market ports.Market, ) ([]string, error) GetMarketReport( ctx context.Context, market ports.Market, timeRange ports.TimeRange, groupByTimeFrame int, ) (ports.MarketReport, error) OpenMarket(ctx context.Context, market ports.Market) error CloseMarket(ctx context.Context, market ports.Market) error DropMarket(ctx context.Context, market ports.Market) error WithdrawMarketFunds( ctx context.Context, password string, market ports.Market, outputs []ports.TxOutput, millisatsPerByte uint64, ) (string, error) UpdateMarketPercentageFee( ctx context.Context, market ports.Market, baseFee, quoteFee int64, ) (ports.MarketInfo, error) UpdateMarketFixedFee( ctx context.Context, market ports.Market, baseFixedFee, quoteFixedFee int64, ) (ports.MarketInfo, error) UpdateMarketAssetsPrecision( ctx context.Context, market ports.Market, baseAssetPrecision, quoteAssetPrecision int, ) error UpdateMarketPrice( ctx context.Context, market ports.Market, basePrice, quotePrice decimal.Decimal, ) error UpdateMarketStrategy( ctx context.Context, market ports.Market, strategyType int, ) error // Fee Fragmenter account DeriveFeeFragmenterAddresses(ctx context.Context, num int) ([]string, error) ListFeeFragmenterExternalAddresses(ctx context.Context) ([]string, error) GetFeeFragmenterBalance( ctx context.Context, ) (map[string]ports.Balance, error) FeeFragmenterSplitFunds( ctx context.Context, maxFragments uint32, millisatsPerByte uint64, chRes chan ports.FragmenterReply, ) WithdrawFeeFragmenterFunds( ctx context.Context, password string, outputs []ports.TxOutput, millisatsPerByte uint64, ) (string, error) // Market fragmenter account DeriveMarketFragmenterAddresses( ctx context.Context, numOfAddresses int, ) ([]string, error) ListMarketFragmenterExternalAddresses(ctx context.Context) ([]string, error) GetMarketFragmenterBalance( ctx context.Context, ) (map[string]ports.Balance, error) MarketFragmenterSplitFunds( ctx context.Context, market ports.Market, millisatsPerByte uint64, chRes chan ports.FragmenterReply, ) WithdrawMarketFragmenterFunds( ctx context.Context, password string, outputs []ports.TxOutput, millisatsPerByte uint64, ) (string, error) // List methods ListMarkets(ctx context.Context) ([]ports.MarketInfo, error) ListTradesForMarket( ctx context.Context, market ports.Market, page ports.Page, ) ([]ports.Trade, error) ListUtxos( ctx context.Context, accountName string, page ports.Page, ) ([]ports.Utxo, []ports.Utxo, error) ListDeposits( ctx context.Context, accountName string, page ports.Page, ) ([]ports.Deposit, error) ListWithdrawals( ctx context.Context, accountName string, page ports.Page, ) ([]ports.Withdrawal, error) // Webhook AddWebhook(ctx context.Context, hook ports.Webhook) (string, error) RemoveWebhook(ctx context.Context, id string) error ListWebhooks( ctx context.Context, event ports.WebhookEvent, ) ([]ports.WebhookInfo, error) }
func NewOperatorService ¶
func NewOperatorService( walletSvc WalletService, pubsubSvc PubSubService, repoManager ports.RepoManager, feeAccountBalanceThreshold uint64, satsPerByte decimal.Decimal, ) (OperatorService, error)
type PubSubService ¶ added in v1.0.0
type PubSubService interface { SecurePubSub() ports.SecurePubSub AddWebhook(ctx context.Context, hook ports.Webhook) (string, error) AddWebhookWithID(ctx context.Context, hook ports.Webhook) (string, error) RemoveWebhook(ctx context.Context, id string) error ListWebhooks( ctx context.Context, event ports.WebhookEvent, ) ([]ports.WebhookInfo, error) PublisAccountLowBalanceEvent( accountName string, accountBalance map[string]ports.Balance, market ports.Market, ) error PublisAccountWithdrawEvent( accountName string, accountBalance map[string]ports.Balance, withdrawal domain.Withdrawal, market ports.Market, ) error PublishTradeSettledEvent( accountName string, accountBalance map[string]ports.Balance, trade domain.Trade, ) error Close() }
func NewPubSubService ¶ added in v1.0.0
func NewPubSubService(pubsubSvc ports.SecurePubSub) PubSubService
type TradeService ¶
type TradeService interface { GetTradableMarkets(ctx context.Context) ([]ports.MarketInfo, error) GetMarketPrice( ctx context.Context, market ports.Market, ) (decimal.Decimal, uint64, error) TradePreview( ctx context.Context, market ports.Market, tradeType ports.TradeType, amount uint64, asset, feeAsset string, ) (ports.TradePreview, error) TradePropose( ctx context.Context, market ports.Market, tradeType ports.TradeType, swapRequest ports.SwapRequest, ) (ports.SwapAccept, ports.SwapFail, int64, error) TradeComplete( ctx context.Context, swapComplete ports.SwapComplete, swapFail ports.SwapFail, ) (string, ports.SwapFail, error) GetMarketBalance( ctx context.Context, market ports.Market, ) (ports.MarketInfo, error) }
func NewTradeService ¶
func NewTradeService( walletSvc WalletService, pubsubSvc PubSubService, repoManager ports.RepoManager, priceSlippage, satsPerByte decimal.Decimal, ) (TradeService, error)
type UnlockerService ¶ added in v1.0.0
type UnlockerService interface { GenSeed(ctx context.Context) ([]string, error) InitWallet(ctx context.Context, mnemonic []string, password string) error RestoreWallet(ctx context.Context, mnemonic []string, password string) error UnlockWallet(ctx context.Context, password string) error LockWallet(ctx context.Context, password string) error ChangePassword(ctx context.Context, oldPwd, newPwd string) error Status(ctx context.Context) (ports.WalletStatus, error) Info(ctx context.Context) (ports.WalletInfo, error) }
func NewUnlockerService ¶ added in v1.0.0
func NewUnlockerService( walletSvc WalletService, pubsubSvc PubSubService, ) (UnlockerService, error)
type WalletService ¶
type WalletService interface { Wallet() ports.Wallet Account() ports.Account Transaction() ports.Transaction Notification() ports.Notification Network() network.Network NativeAsset() string SendToMany( account string, outs []ports.TxOutput, msatsPerByte uint64, ) (string, error) CompleteSwap( account string, swapRequest ports.SwapRequest, msatsPerByte uint64, feesToAdd bool, ) (string, []ports.Utxo, int64, error) RegisterHandlerForTxEvent(handler func(ports.WalletTxNotification) bool) RegisterHandlerForUtxoEvent(handler func(ports.WalletUtxoNotification) bool) Close() }
func NewWalletService ¶
func NewWalletService(w ports.WalletService) (WalletService, error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.