コード例 #1
0
 public function testSetToBitcoinAddress()
 {
     $transaction = new Transaction();
     $transaction->setToBitcoinAddress('ADDRESS');
     $this->assertInstanceOf(BitcoinAddress::class, $transaction->getTo());
     $this->assertEquals('ADDRESS', $transaction->getTo()->getAddress());
 }
コード例 #2
0
ファイル: Mapper.php プロジェクト: vSaKv/coinbase-php
 /** @return array */
 public function fromTransaction(Transaction $transaction)
 {
     // validate
     $to = $transaction->getTo();
     if ($to && !$to instanceof Email && !$to instanceof BitcoinAddress && !$to instanceof Account) {
         throw new LogicException('The Coinbase API only accepts transactions to an account, email, or bitcoin address');
     }
     // filter
     $data = array_intersect_key($this->extractData($transaction), array_flip(['type', 'to', 'amount', 'description']));
     // to
     if (isset($data['to']['address'])) {
         $data['to'] = $data['to']['address'];
     } elseif (isset($data['to']['email'])) {
         $data['to'] = $data['to']['email'];
     } elseif (isset($data['to']['id'])) {
         $data['to'] = $data['to']['id'];
     }
     // currency
     if (isset($data['amount']['currency'])) {
         $data['currency'] = $data['amount']['currency'];
     }
     // amount
     if (isset($data['amount']['amount'])) {
         $data['amount'] = $data['amount']['amount'];
     }
     return $data;
 }