Documentation ¶
Index ¶
- Constants
- Variables
- type Balance
- type BalanceWithFee
- type BlockchainListener
- type Fee
- type Market
- type MarketInfo
- type MarketStrategy
- type MarketWithFee
- type MarketWithPrice
- type OperatorService
- type Price
- type PriceWithFee
- type ReportMarketFee
- type SendToManyRequest
- type SwapInfo
- type TradeService
- type TxOut
- type WalletService
- type WithdrawMarketReq
Constants ¶
View Source
const ( TradeBuy = iota TradeSell )
View Source
const RegtestExplorerAPI = "http://127.0.0.1:3001"
RegtestExplorerAPI ...
Variables ¶
View Source
var ( // ErrWalletNotFunded ... ErrWalletNotFunded = fmt.Errorf("wallet not funded") // ErrWalletIsSyncing ... ErrWalletIsSyncing = fmt.Errorf( "wallet is syncing data from blockchain. All functionalities are " + "disabled until this operation is completed", ) // ErrWalletNotInitialized ... ErrWalletNotInitialized = fmt.Errorf("wallet not initialized") )
View Source
var ErrCrawlerDoesNotObserveFeeAccount = errors.New("fee account needs to be funded to open a market")
ErrCrawlerDoesNotObserveAddresses occurs when the crawler does not observe any address
Functions ¶
This section is empty.
Types ¶
type BalanceWithFee ¶
type BlockchainListener ¶
type BlockchainListener interface { ObserveBlockchain() StopObserveBlockchain() }
BlockchainListener defines the needed method sto start and stop a blockchain listener
func NewBlockchainListener ¶
func NewBlockchainListener( unspentRepository domain.UnspentRepository, marketRepository domain.MarketRepository, vaultRepository domain.VaultRepository, crawlerSvc crawler.Service, explorerSvc explorer.Service, dbManager ports.DbManager, ) BlockchainListener
NewBlockchainListener returns a BlockchainListener with all the needed services
type MarketInfo ¶
MarketInfo is the data struct returned by ListMarket RPC.
type MarketStrategy ¶
type MarketStrategy struct { Market Strategy domain.StrategyType }
type MarketWithFee ¶
type MarketWithPrice ¶
type OperatorService ¶
type OperatorService interface { DepositMarket( ctx context.Context, baseAsset string, quoteAsset string, ) (string, error) DepositFeeAccount( ctx context.Context, ) (address string, blindingKey string, err error) OpenMarket( ctx context.Context, baseAsset string, quoteAsset string, ) error CloseMarket( ctx context.Context, baseAsset string, quoteAsset string, ) error UpdateMarketFee( ctx context.Context, req MarketWithFee, ) (*MarketWithFee, error) UpdateMarketPrice( ctx context.Context, req MarketWithPrice, ) error UpdateMarketStrategy( ctx context.Context, req MarketStrategy, ) error ListSwaps( ctx context.Context, ) ([]SwapInfo, error) ListMarketExternalAddresses( ctx context.Context, req Market, ) ([]string, error) WithdrawMarketFunds( ctx context.Context, req WithdrawMarketReq, ) ( []byte, error, ) FeeAccountBalance(ctx context.Context) ( int64, error, ) ListMarket( ctx context.Context, ) ([]MarketInfo, error) GetCollectedMarketFee( ctx context.Context, market Market, ) (*ReportMarketFee, error) }
OperatorService defines the methods of the application layer for the operator service.
func NewOperatorService ¶
func NewOperatorService( marketRepository domain.MarketRepository, vaultRepository domain.VaultRepository, tradeRepository domain.TradeRepository, unspentRepository domain.UnspentRepository, explorerSvc explorer.Service, crawlerSvc crawler.Service, ) OperatorService
NewOperatorService is a constructor function for OperatorService.
type PriceWithFee ¶
type ReportMarketFee ¶
type SendToManyRequest ¶
type SwapInfo ¶
type SwapInfo struct { Status int32 AmountP uint64 AssetP string AmountR uint64 AssetR string MarketFee Fee RequestTimeUnix uint64 AcceptTimeUnix uint64 CompleteTimeUnix uint64 ExpiryTimeUnix uint64 }
SwapInfo is the data struct returned by ListSwap RPC.
type TradeService ¶
type TradeService interface { GetTradableMarkets(ctx context.Context) ([]MarketWithFee, error) GetMarketPrice( ctx context.Context, market Market, tradeType int, amount uint64, ) (*PriceWithFee, error) TradePropose( ctx context.Context, market Market, tradeType int, swapRequest *pb.SwapRequest, ) (*pb.SwapAccept, *pb.SwapFail, uint64, error) TradeComplete( ctx context.Context, swapComplete *pb.SwapComplete, swapFail *pb.SwapFail, ) (string, *pb.SwapFail, error) GetMarketBalance( ctx context.Context, market Market, ) (*BalanceWithFee, error) }
func NewTradeService ¶
func NewTradeService( marketRepository domain.MarketRepository, tradeRepository domain.TradeRepository, vaultRepository domain.VaultRepository, unspentRepository domain.UnspentRepository, explorerSvc explorer.Service, crawlerSvc crawler.Service, ) TradeService
type WalletService ¶
type WalletService interface { GenSeed(ctx context.Context) ([]string, error) InitWallet( ctx context.Context, mnemonic []string, passphrase string, ) error UnlockWallet( ctx context.Context, passphrase string, ) error ChangePassword( ctx context.Context, currentPassphrase string, newPassphrase string) error GenerateAddressAndBlindingKey( ctx context.Context, ) (address string, blindingKey string, err error) GetWalletBalance( ctx context.Context, ) (map[string]domain.BalanceInfo, error) SendToMany( ctx context.Context, req SendToManyRequest, ) ([]byte, error) }
func NewWalletService ¶
func NewWalletService( vaultRepository domain.VaultRepository, unspentRepository domain.UnspentRepository, crawlerService crawler.Service, explorerService explorer.Service, blockchainListener BlockchainListener, ) WalletService
Click to show internal directories.
Click to hide internal directories.