|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
-
- declare(strict_types=1);
-
-
- namespace App\Command;
-
-
- use App\Arbitration\Inner\Stuff\ArbitrationMarketChainsFinder;
- use App\Exchanges\ExchangeProvider;
- use App\Exchanges\Kuna\KunaExchange;
- use App\Exchanges\MarketInterface;
- use App\Infrastructure\Arbitration\Inner\ChainProvider;
- use Symfony\Component\Console\Command\Command;
- use Symfony\Component\Console\Input\InputInterface;
- use Symfony\Component\Console\Output\OutputInterface;
-
- class TestCommand extends Command
- {
-
- protected static $defaultName = 'test:test';
-
- private ExchangeProvider $exchangeProvider;
- private ChainProvider $chainProvider;
-
- public function __construct(
- ExchangeProvider $exchangeProvider,
- ChainProvider $chainProvider
- )
- {
- parent::__construct(self::$defaultName);
- $this->exchangeProvider = $exchangeProvider;
- $this->chainProvider = $chainProvider;
- }
-
- public function execute(InputInterface $input, OutputInterface $output)
- {
- $finder = new ArbitrationMarketChainsFinder();
-
- $exchange = $this->exchangeProvider->getExchanges()[0];
-
- // $chains = $finder->findChainsInExchange($exchange, 3);
- //
- // foreach ($chains as $chain) {
- // $this->chainProvider->addChain($exchange, $chain);
- // }
-
- $fetchedChains = $this->chainProvider->getChainsForExchange($exchange);
- foreach ($fetchedChains as $chain) {
- echo implode(' -> ', array_map(
- function (MarketInterface $market) {
- return $market->getPair()->getBase() . '/' . $market->getPair()->getQuote();
- },
- $chain->getMarkets()
- )) . PHP_EOL;
- }
-
- return 0;
- }
- }
|