public function testSetToBitcoinAddress() { $transaction = new Transaction(); $transaction->setToBitcoinAddress('ADDRESS'); $this->assertInstanceOf(BitcoinAddress::class, $transaction->getTo()); $this->assertEquals('ADDRESS', $transaction->getTo()->getAddress()); }
/** @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; }