Пример #1
0
    def start(
            self,
            raiden: RaidenService,
            queueids_to_queues: typing.List[SendMessageEvent],
    ):
        self.raiden = raiden
        self.queueids_to_queues = dict()

        # server.stop() clears the handle. Since this may be a restart the
        # handle must always be set
        self.server.set_handle(self._receive)

        for (recipient, queue_name), queue in queueids_to_queues.items():
            encoded_queue = list()

            for sendevent in queue:
                message = message_from_sendevent(sendevent, raiden.address)
                raiden.sign(message)
                encoded = message.encode()

                encoded_queue.append((encoded, sendevent.message_identifier))

            self.init_queue_for(recipient, queue_name, encoded_queue)

        self.server.start()
Пример #2
0
    def start(
        self,
        raiden: RaidenService,
        queueids_to_queues: typing.Dict[typing.QueueIdentifier,
                                        typing.List[Event]],
    ):
        self.raiden = raiden
        self.queueids_to_queues = dict()

        # server.stop() clears the handle. Since this may be a restart the
        # handle must always be set
        self.server.set_handle(self._receive)

        for queue_identifier, queue in queueids_to_queues.items():
            encoded_queue = list()

            for sendevent in queue:
                message = message_from_sendevent(sendevent, raiden.address)
                raiden.sign(message)
                encoded = message.encode()

                encoded_queue.append((encoded, sendevent.message_identifier))

            self.init_queue_for(queue_identifier, encoded_queue)

        self.server.start()
Пример #3
0
    def start(
        self,
        raiden: RaidenService,
        queueids_to_queues: typing.Dict[QueueIdentifier, typing.List[Event]],
    ):
        if not self.event_stop.ready():
            raise RuntimeError('UDPTransport started while running')

        self.event_stop.clear()
        self.raiden = raiden
        self.queueids_to_queues = dict()

        # server.stop() clears the handle. Since this may be a restart the
        # handle must always be set
        self.server.set_handle(self._receive)

        for queue_identifier, queue in queueids_to_queues.items():
            encoded_queue = list()

            for sendevent in queue:
                message = message_from_sendevent(sendevent, raiden.address)
                raiden.sign(message)
                encoded = message.encode()

                encoded_queue.append((encoded, sendevent.message_identifier))

            self.init_queue_for(queue_identifier, encoded_queue)

        self.server.start()
        super().start()
Пример #4
0
def handle_message_crosstransaction(raiden: RaidenService,
                                    message: Crosstransaction):
    cross_type = message.cross_type
    if cross_type == 1:
        raiden.wal.create_crosstransactiontry(
            message.initiator_address, message.target_address,
            message.token_network_identifier, message.sendETH_amount,
            message.sendBTC_amount, message.receiveBTC_address,
            message.identifier)
        raiden.wal.change_crosstransaction_status(message.identifier, 2)
        accept = 1
        acceptcross = AcceptCross(random.randint(0, UINT64_MAX),
                                  message.initiator_address,
                                  message.target_address, message.identifier,
                                  accept)
        raiden.sign(acceptcross)
        raiden.transport.send_async(
            message.initiator_address,
            bytes("123", 'utf-8'),
            acceptcross,
        )
    else:
        message.cross_type = 1
        async_result = raiden.start_crosstransaction(
            message.token_network_identifier, message.initiator_address,
            message.target_address, message.sendETH_amount,
            message.sendBTC_amount, message.receiveBTC_address,
            message.cross_type, message.identifier)