Skip to content

Instantly share code, notes, and snippets.

@eum602
Created April 25, 2022 14:32
Show Gist options
  • Save eum602/4647068b84a7a78bf7e0930e8a6f4b0a to your computer and use it in GitHub Desktop.
Save eum602/4647068b84a7a78bf7e0930e8a6f4b0a to your computer and use it in GitHub Desktop.
classDiagram
http_service_runner o-- AppDependencies
http_service_runner o-- getDefaultAppDependenciesAsync
http_swap_service_runner o-- getDefaultAppDependenciesAsync
http_swap_service_runner o-- AppDependencies
http_service_runner o-- SwapRouter
http_swap_service_runner o-- SwapRouter
SwapRouter o-- SwapHandlers
SwapHandlers o-- SwapService
SwapService o-- SwapQuoter
class SwapQuoter {
getSwapQuoteAsync(makerToken: string, takerToken: string, assetFillAmount: BigNumber, marketOperation: MarketOperation, options: Partial<SwapQuoteRequestOpts>): Promise<SwapQuote>;
}
class AppDependencies {
contractAddresses: ContractAddresses;
connection: Connection;
kafkaClient?: Kafka;
orderBookService: OrderBookService;
swapService?: SwapService;
metaTransactionService?: MetaTransactionService;
provider: SupportedProvider;
websocketOpts: Partial<WebsocketSRAOpts>;
transactionWatcherService?: TransactionWatcherSignerService;
rateLimiter?: MetaTransactionRateLimiter;
}
class http_swap_service_runner {
runHttpServiceAsync(dependencies:AppDependencies):Promise<Server>
}
class http_service_runner {
runHttpServiceAsync(dependencies:AppDependencies):Promise<HttpServices>
}
class SwapService {
calculateSwapQuoteAsync()
getSwapQuoteForWrapAsync()
getSwapQuoteForUnwrapAsync()
getTokenPricesAsync()
calculateMarketDepthAsync()
_calculateEstimatedPriceImpactPercent()
_getSwapQuotePrice()
_getSwapQuoteForNativeWrappedAsync()
_estimateGasOrThrowRevertErrorAsync()
_getSwapQuotePartialTransactionAsync()
_getAltMarketOfferingsAsync()
_renewSwapQuoter()
constructor(
orderbook: Orderbook,
provider: SupportedProvider,
contractAddresses: AssetSwapperContractAddresses,
firmQuoteValidator?: RfqFirmQuoteValidator | undefined,
rfqDynamicBlacklist?: RfqDynamicBlacklist,
private readonly _pairsManager?: PairsManager,
private readonly _slippageModelManager?: SlippageModelManager,
)
}
class SwapRouter {
createSwapRouter(swapService)
}
class SwapHandlers{
constructor(swapService)
getTokens()
getLiquiditySources()
getRfqRegistry()
getTokenPricesAsync()
getQuoteAsync()
getQuotePriceAsync()
getMarketDepthAsync()
_getSwapQuoteAsync()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment