def sign_and_broadcast(self, transaction: Any): """Sign and send to the network Args: transaction (Any): transaction details """ if not is_object(transaction): raise TronError('Invalid transaction provided') signed_tx = self.sign(transaction) return self.broadcast(signed_tx)
def broadcast(self, signed_transaction): """Broadcast the signed transaction Args: signed_transaction (object): signed transaction contract data """ if not is_object(signed_transaction): raise InvalidTronError('Invalid transaction provided') if 'signature' not in signed_transaction: raise TronError('Transaction is not signed') response = self.tron.manager.request('/wallet/broadcasttransaction', signed_transaction) if 'result' in response: response.update({'transaction': signed_transaction}) return response