/** * @param Address $address * @param BlockCypherAddressBalance $blockCypherAddressBalance * @param string $apiUrl * @param string $explorerUrl * @return $this */ public static function from(Address $address, BlockCypherAddressBalance $blockCypherAddressBalance, $apiUrl, $explorerUrl) { $addressListItemDto = new self(); $addressListItemDto->setAddress($address->getAddress()); $addressListItemDto->setTag($address->getTag()); $addressListItemDto->setCreationTime($address->getCreationTime()); $addressListItemDto->setFinalBalance($blockCypherAddressBalance->getFinalBalance()); $addressListItemDto->setNTx($blockCypherAddressBalance->getNTx()); $addressListItemDto->setApiUrl($apiUrl); $addressListItemDto->setExplorerUrl($explorerUrl); return $addressListItemDto; }
/** * @param Wallet $wallet * @param BigMoney|null $balance * @param $apiUrl * @return WalletListItemDto */ public static function from(Wallet $wallet, BigMoney $balance, $apiUrl) { $walletListItemDto = new self(); $walletListItemDto->setId($wallet->getId()->getValue()); $walletListItemDto->setCoinSymbol($wallet->getCoinSymbol()); $walletListItemDto->setCreationTime($wallet->getCreationTime()); $walletListItemDto->setName($wallet->getName()); if ($balance !== null) { $walletListItemDto->setBalance((double) (string) $balance->getAmount()); } else { $walletListItemDto->setBalance(-1); } $walletListItemDto->setApiUrl($apiUrl); return $walletListItemDto; }
/** * @param Transaction|null $transaction * @param TransactionListItem $transactionListItem * @param string $apiUrl * @param string $explorerUrl * @return $this */ public static function from($transaction, TransactionListItem $transactionListItem, $apiUrl, $explorerUrl) { $transactionListItemDto = new self(); // From local app transaction if ($transaction !== null) { $transactionListItemDto->setDescription($transaction->getDescription()); } else { $transactionListItemDto->setDescription($transactionListItem->getTxHash()); } // From BlockCypher TXRef $transactionListItemDto->setTxHash($transactionListItem->getTxHash()); //$transactionListItemDto->setTxInputN($transactionListItem->getTxInputN()); //$transactionListItemDto->setValue($transactionListItem->getValue()); $transactionListItemDto->setConfirmations($transactionListItem->getConfirmations()); if ($transactionListItem->getReceived() !== null) { $transactionListItemDto->setReceived($transactionListItem->getReceived()); } if ($transactionListItem->getConfirmed() !== null) { $transactionListItemDto->setConfirmed($transactionListItem->getConfirmed()); } $transactionListItemDto->setBlockHeight($transactionListItem->getBlockHeight()); $transactionListItemDto->setTotal($transactionListItem->getFinalTotal()); $transactionListItemDto->setApiUrl($apiUrl); $transactionListItemDto->setExplorerUrl($explorerUrl); return $transactionListItemDto; }
/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['status_code' => null, 'request_id' => null, 'api_url' => null, 'platform_returns' => [], 'auth_ticket' => null, 'returns' => [], 'error' => null], $values); $message->setStatusCode($values['status_code']); $message->setRequestId($values['request_id']); $message->setApiUrl($values['api_url']); $message->setAuthTicket($values['auth_ticket']); $message->setError($values['error']); foreach ($values['platform_returns'] as $item) { $message->addPlatformReturns($item); } foreach ($values['returns'] as $item) { $message->addReturns($item); } return $message; }