private function assertValidTransaction(array $transaction)
    {
        if(!isset($transaction['transaction_type'])) {
            throw new InvalidArgumentException("Transaction type is empty");
        }

        $this->assertValidContent($transaction['content']);
        $this->assertValidSender($transaction['from']);
        $this->assertValidRecipient($transaction['to']);
    }