def test_get_token_network_registry_by_token_network_address(): test_state = factories.make_chain_state(number_of_channels=1) assert (views.get_token_network_registry_by_token_network_address( chain_state=test_state.chain_state, token_network_address=factories.make_address()) is None) assert (views.get_token_network_registry_by_token_network_address( chain_state=test_state.chain_state, token_network_address=test_state.token_address) is None) assert (views.get_token_network_registry_by_token_network_address( chain_state=test_state.chain_state, token_network_address=test_state.token_network_address, ).address == test_state.token_network_registry_address)
def test_get_token_network_registry_by_token_network_address_is_none(chain_state): assert ( get_token_network_registry_by_token_network_address( chain_state=chain_state, token_network_address=factories.make_address() ) is None )
def __init__(self, raiden: "RaidenService", token_network_address: TokenNetworkAddress): self.raiden = raiden chain_state = views.state_from_raiden(raiden) token_network_state = views.get_token_network_by_address( chain_state, token_network_address ) token_network_registry = views.get_token_network_registry_by_token_network_address( chain_state, token_network_address ) assert token_network_state assert token_network_registry # TODO: # - Add timeout for transaction polling, used to overwrite the RaidenAPI # defaults # - Add a proper selection strategy (#576) self.funds = 0 self.initial_channel_target = 0 self.joinable_funds_target = 0.0 self.raiden = raiden self.registry_address = token_network_registry.address self.token_network_address = token_network_address self.token_address = token_network_state.token_address self.lock = Semaphore() #: protects self.funds and self.initial_channel_target self.api = RaidenAPI(raiden)
def __init__(self, raiden: "RaidenService", token_network_address: TokenNetworkAddress): self.raiden = raiden chain_state = views.state_from_raiden(raiden) token_network_state = views.get_token_network_by_address( chain_state, token_network_address) token_network_registry = views.get_token_network_registry_by_token_network_address( chain_state, token_network_address) msg = f"Token network for address {to_checksum_address(token_network_address)} not found." assert token_network_state, msg msg = (f"Token network registry for token network address " f"{to_checksum_address(token_network_address)} not found.") assert token_network_registry, msg # TODO: # - Add timeout for transaction polling, used to overwrite the RaidenAPI # defaults # - Add a proper selection strategy (#576) self.funds = 0 self.initial_channel_target = 0 self.joinable_funds_target = 0.0 self.raiden = raiden self.registry_address = token_network_registry.address self.token_network_address = token_network_address self.token_address = token_network_state.token_address self.lock = Semaphore( ) #: protects self.funds and self.initial_channel_target self._retry_greenlet: Optional[Greenlet] = None self.api = RaidenAPI(raiden)
def get_contractreceivechannelnew_data_from_event( chain_state: ChainState, event: DecodedEvent) -> Optional[NewChannelDetails]: token_network_address = TokenNetworkAddress(event.originating_contract) data = event.event_data args = data["args"] participant1 = args["participant1"] participant2 = args["participant2"] our_address = chain_state.our_address if our_address == participant1: partner_address = participant2 elif our_address == participant2: partner_address = participant1 else: # Not a channel which this node is a participant return None token_network_registry = views.get_token_network_registry_by_token_network_address( chain_state, token_network_address) assert token_network_registry is not None, "Token network registry missing" token_network = views.get_token_network_by_address( chain_state=chain_state, token_network_address=token_network_address) assert token_network is not None, "Token network missing" return NewChannelDetails( chain_id=event.chain_id, token_network_registry_address=token_network_registry.address, token_address=token_network.token_address, token_network_address=token_network_address, our_address=our_address, partner_address=partner_address, )