コード例 #1
0
ファイル: message_handler.py プロジェクト: binaryflesh/raiden
    def handle_message_lockedtransfer(raiden: RaidenService,
                                      message: LockedTransfer):
        secret_hash = message.lock.secrethash
        # We must check if the secret was registered against the latest block,
        # even if the block is forked away and the transaction that registers
        # the secret is removed from the blockchain. The rationale here is that
        # someone else does know the secret, regardless of the chain state, so
        # the node must not use it to start a payment.
        #
        # For this particular case, it's preferable to use `latest` instead of
        # having a specific block_hash, because it's preferable to know if the secret
        # was ever known, rather than having a consistent view of the blockchain.
        registered = raiden.default_secret_registry.is_secret_registered(
            secrethash=secret_hash,
            block_identifier='latest',
        )
        if registered:
            log.warning(
                f'Ignoring received locked transfer with secrethash {pex(secret_hash)} '
                f'since it is already registered in the secret registry', )
            return

        if message.target == raiden.address:
            raiden.target_mediated_transfer(message)
        else:
            raiden.mediate_mediated_transfer(message)
コード例 #2
0
ファイル: message_handler.py プロジェクト: virrius/lumino
    def handle_message_lockedtransfer(raiden: RaidenService,
                                      message: LockedTransfer) -> None:
        secrethash = message.lock.secrethash
        # We must check if the secret was registered against the latest block,
        # even if the block is forked away and the transaction that registers
        # the secret is removed from the blockchain. The rationale here is that
        # someone else does know the secret, regardless of the chain state, so
        # the node must not use it to start a payment.
        #
        # For this particular case, it's preferable to use `latest` instead of
        # having a specific block_hash, because it's preferable to know if the secret`
        # was ever known, rather than having a consistent view of the blockchain.
        registered = raiden.default_secret_registry.is_secret_registered(
            secrethash=secrethash, block_identifier="latest")
        if registered:
            log.warning(
                f"Ignoring received locked transfer with secrethash {pex(secrethash)} "
                f"since it is already registered in the secret registry")
            return

        # TODO marcosmartinez7: unimplemented mediated transfer for light clients
        is_handled_light_client = LightClientService.is_handled_lc(
            to_checksum_address(message.recipient), raiden.wal)

        if message.target == raiden.address:
            raiden.target_mediated_transfer(message)
        elif is_handled_light_client:
            raiden.target_mediated_transfer_light(message)
        else:
            raiden.mediate_mediated_transfer(message)
コード例 #3
0
ファイル: message_handler.py プロジェクト: ChiNeSeFree/raiden
    def handle_message_lockedtransfer(self, raiden: RaidenService,
                                      message: LockedTransfer):
        secret_hash = message.lock.secrethash
        if raiden.default_secret_registry.check_registered(secret_hash):
            log.warning(
                f'Ignoring received locked transfer with secrethash {pex(secret_hash)} '
                f'since it is already registered in the secret registry', )
            return

        if message.target == raiden.address:
            raiden.target_mediated_transfer(message)
        else:
            raiden.mediate_mediated_transfer(message)
コード例 #4
0
    def handle_message_lockedtransfer(raiden: RaidenService,
                                      message: LockedTransfer):
        secret_hash = message.lock.secrethash
        # LEFTODO: Supply a proper block id
        registered = raiden.default_secret_registry.check_registered(
            secrethash=secret_hash,
            block_identifier='latest',
        )
        if registered:
            log.warning(
                f'Ignoring received locked transfer with secrethash {pex(secret_hash)} '
                f'since it is already registered in the secret registry', )
            return

        if message.target == raiden.address:
            raiden.target_mediated_transfer(message)
        else:
            raiden.mediate_mediated_transfer(message)
コード例 #5
0
ファイル: udp_message_handler.py プロジェクト: vnblr/raiden
def handle_message_lockedtransfer(raiden: RaidenService,
                                  message: LockedTransfer):
    if message.target == raiden.address:
        raiden.target_mediated_transfer(message)
    else:
        raiden.mediate_mediated_transfer(message)
コード例 #6
0
ファイル: message_handler.py プロジェクト: AlphaX-IBS/raiden
def handle_message_lockedtransfer(raiden: RaidenService, message: LockedTransfer):
    if message.target == raiden.address:
        raiden.target_mediated_transfer(message)
    else:
        raiden.mediate_mediated_transfer(message)