def __init__(self, asset_address, peer1, peer2, settle_timeout, # pylint: disable=too-many-arguments address=None): self.address = address or make_address() self.contract = NettingChannelContract( asset_address, self.address, peer1, peer2, settle_timeout, )
def __init__(self, blockchain, asset_address, peer1, peer2, settle_timeout, # pylint: disable=too-many-arguments address=None): self.address = address or make_address() self.blockchain = blockchain self.contract = NettingChannelContract( asset_address, self.address, peer1, peer2, settle_timeout, ) self.newbalance_filters = list() self.secretrevealed_filters = list() self.channelclose_filters = list() self.channelsettle_filters = list()
def new_netting_contract(self, asset_address, peer1, peer2): """ Creates a new netting contract between peer1 and peer2. Raises: ValueError: If peer1 or peer2 is not a valid address. """ if not isaddress(peer1): raise ValueError('The pee1 must be a valid address') if not isaddress(peer2): raise ValueError('The peer2 must be a valid address') netcontract_address = bytes(sha3(peer1 + peer2)[:20]) hash_channel = self.asset_hashchannel[asset_address] if netcontract_address in hash_channel: raise ValueError('netting contract already exists') channel = NettingChannelContract(asset_address, netcontract_address, peer1, peer2) hash_channel[netcontract_address] = channel return netcontract_address