Beispiel #1
0
def test_nettingchannel_settle_timeout_inrange(private_keys, tester_channelmanager, tester_state):
    """ The netting channel constructor must enforce that settle timeout is in
    the valid range.

    Also asserts that the constants.py and the netting channel contract values
    are synched.
    """
    pkey0 = private_keys[0]
    pkey1 = private_keys[1]
    pkey2 = private_keys[2]

    log_listener = None

    with pytest.raises(TransactionFailed):
        small_settle_timeout = NETTINGCHANNEL_SETTLE_TIMEOUT_MIN - 1
        tester_channelmanager.newChannel(
            privatekey_to_address(pkey1),
            small_settle_timeout,
            sender=pkey0,
        )

    with pytest.raises(TransactionFailed):
        big_settle_timeout = NETTINGCHANNEL_SETTLE_TIMEOUT_MAX + 1
        tester_channelmanager.newChannel(
            privatekey_to_address(pkey1),
            big_settle_timeout,
            sender=pkey0,
        )

    minimum_settle_timeout = NETTINGCHANNEL_SETTLE_TIMEOUT_MIN
    netting_channel_address0_hex = tester_channelmanager.newChannel(
        privatekey_to_address(pkey1),
        minimum_settle_timeout,
        sender=pkey0,
    )
    max_settle_timeout = NETTINGCHANNEL_SETTLE_TIMEOUT_MAX
    netting_channel_address1_hex = tester_channelmanager.newChannel(
        privatekey_to_address(pkey2),
        max_settle_timeout,
        sender=pkey0,
    )

    netting_channel = tester.ABIContract(
        tester_state,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        netting_channel_address0_hex,
        log_listener=log_listener,
        default_key=INVALID_KEY,
    )
    # pylint: disable=no-member
    assert netting_channel.settleTimeout(sender=pkey0) == minimum_settle_timeout
    netting_channel2 = tester.ABIContract(
        tester_state,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        netting_channel_address1_hex,
        log_listener=log_listener,
        default_key=INVALID_KEY,
    )
    assert netting_channel2.settleTimeout(sender=pkey0) == max_settle_timeout
Beispiel #2
0
    def add_netting_channel_listener(self, netting_channel_proxy):
        channel_address = netting_channel_proxy.address
        netting_channel_events = netting_channel_proxy.all_events_filter()

        self.add_event_listener(
            'NettingChannel Event {}'.format(pex(channel_address)),
            netting_channel_events,
            CONTRACT_MANAGER.get_translator('netting_channel'),
        )
Beispiel #3
0
    def add_channel_manager_listener(self, channel_manager_proxy):
        channelnew = channel_manager_proxy.channelnew_filter()
        manager_address = channel_manager_proxy.address

        self.add_event_listener(
            'ChannelManager {}'.format(pex(manager_address)),
            channelnew,
            CONTRACT_MANAGER.get_translator('channel_manager'),
        )
Beispiel #4
0
    def add_registry_listener(self, registry_proxy):
        tokenadded = registry_proxy.tokenadded_filter()
        registry_address = registry_proxy.address

        self.add_event_listener(
            'Registry {}'.format(pex(registry_address)),
            tokenadded,
            CONTRACT_MANAGER.get_translator(CONTRACT_REGISTRY),
        )
    def add_netting_channel_listener(self, netting_channel_proxy):
        netting_channel_events = netting_channel_proxy.all_events_filter()
        channel_address = netting_channel_proxy.address

        self.add_event_listener(
            'NettingChannel Event {}'.format(pex(channel_address)),
            netting_channel_events,
            CONTRACT_MANAGER.get_translator('netting_channel'),
            netting_channel_proxy.all_events_filter,
        )
    def add_channel_manager_listener(self, channel_manager_proxy):
        channelnew = channel_manager_proxy.channelnew_filter()
        manager_address = channel_manager_proxy.address

        self.add_event_listener(
            'ChannelManager {}'.format(pex(manager_address)),
            channelnew,
            CONTRACT_MANAGER.get_translator('channel_manager'),
            channel_manager_proxy.channelnew_filter,
        )
    def add_registry_listener(self, registry_proxy):
        tokenadded = registry_proxy.tokenadded_filter()
        registry_address = registry_proxy.address

        self.add_event_listener(
            'Registry {}'.format(pex(registry_address)),
            tokenadded,
            CONTRACT_MANAGER.get_translator(CONTRACT_REGISTRY),
            registry_proxy.tokenadded_filter,
        )
Beispiel #8
0
    def add_netting_channel_listener(self,
                                     netting_channel_proxy,
                                     from_block=None):
        netting_channel_events = netting_channel_proxy.all_events_filter(
            from_block)
        channel_address = netting_channel_proxy.address

        self.add_event_listener(
            'NettingChannel Event {}'.format(pex(channel_address)),
            netting_channel_events,
            CONTRACT_MANAGER.get_translator('netting_channel'),
            netting_channel_proxy.all_events_filter,
        )
Beispiel #9
0
def netting_channel_events(rpc, netting_channel, end_block=None):
    """Get all events for a netting_channel starting from its `opened()` block.
    Args:
        rpc (raiden.network.rpc.client.JSONRPCClient): client instance.
        netting_channel (raiden.network.rpc.client.NettingChannel): the NettingChannel instance.
        end_block (int): read event-logs up to this block number (default: 'latest').
    """
    return all_contract_events(
        rpc,
        netting_channel.address,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        start_block=netting_channel.opened(),
        end_block=end_block or 'latest',
    )
Beispiel #10
0
def get_all_registry_events(chain,
                            registry_address,
                            events=ALL_EVENTS,
                            from_block=0,
                            to_block='latest'):
    """ Helper to get all events of the Registry contract at
    `registry_address`.
    """
    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_REGISTRY),
        registry_address,
        events,
        from_block,
        to_block,
    )
Beispiel #11
0
def netting_channel_events(
        rpc: JSONRPCClient,
        netting_channel: NettingChannel,
        end_block: Union[str, int] = 'latest') -> List[Dict]:
    """Get all events for a netting_channel starting from its `opened()` block.
    Args:
        rpc: client instance.
        netting_channel: the NettingChannel instance.
        end_block: read event-logs up to this block number (default: 'latest').
    """
    return all_contract_events(
        rpc,
        netting_channel.address,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        start_block=netting_channel.opened(),
        end_block=end_block)
def netting_channel_events(
        rpc: JSONRPCClient,
        netting_channel: NettingChannel,
        end_block: Union[str, int] = 'latest') -> List[Dict]:
    """Get all events for a netting_channel starting from its `opened()` block.
    Args:
        rpc: client instance.
        netting_channel: the NettingChannel instance.
        end_block: read event-logs up to this block number (default: 'latest').
    """
    return all_contract_events(
        rpc,
        netting_channel.address,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        start_block=netting_channel.opened(),
        end_block=end_block
    )
def get_all_registry_events(
        chain,
        registry_address,
        events=ALL_EVENTS,
        from_block=0,
        to_block='latest'):
    """ Helper to get all events of the Registry contract at
    `registry_address`.
    """
    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_REGISTRY),
        registry_address,
        events,
        from_block,
        to_block,
    )
Beispiel #14
0
def get_all_netting_channel_events(chain,
                                   netting_channel_address,
                                   events=ALL_EVENTS,
                                   from_block=0,
                                   to_block='latest'):
    """ Helper to get all events of a NettingChannelContract at
    `channel_identifier`.
    """

    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        netting_channel_address,
        events,
        from_block,
        to_block,
    )
Beispiel #15
0
def get_all_channel_manager_events(chain,
                                   channel_manager_address,
                                   events=ALL_EVENTS,
                                   from_block=0,
                                   to_block='latest'):
    """ Helper to get all events of the ChannelManagerContract at
    `token_address`.
    """

    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_CHANNEL_MANAGER),
        channel_manager_address,
        events,
        from_block,
        to_block,
    )
def get_all_netting_channel_events(
        chain,
        netting_channel_address,
        events=ALL_EVENTS,
        from_block=0,
        to_block='latest'):
    """ Helper to get all events of a NettingChannelContract at
    `netting_channel_address`.
    """

    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_NETTING_CHANNEL),
        netting_channel_address,
        events,
        from_block,
        to_block,
    )
def get_all_channel_manager_events(
        chain,
        channel_manager_address,
        events=ALL_EVENTS,
        from_block=0,
        to_block='latest'):
    """ Helper to get all events of the ChannelManagerContract at
    `token_address`.
    """

    return get_contract_events(
        chain,
        CONTRACT_MANAGER.get_translator(CONTRACT_CHANNEL_MANAGER),
        channel_manager_address,
        events,
        from_block,
        to_block,
    )