def send_mediatedtransfer( initiator_state: InitiatorTransferState, channel_state: NettingChannelState, block_number: typing.BlockNumber, ) -> SendMediatedTransfer: """ Create a mediated transfer using channel. Raises: AssertionError: If the channel does not have enough capacity. """ assert channel_state.token_address == initiator_state.transfer_description.token transfer_description = initiator_state.transfer_description lock_expiration = get_initial_lock_expiration( block_number, channel_state.settle_timeout, ) mediatedtransfer_event = channel.send_mediatedtransfer( channel_state, transfer_description.initiator, transfer_description.target, transfer_description.amount, transfer_description.identifier, lock_expiration, transfer_description.hashlock, ) assert mediatedtransfer_event initiator_state.transfer = mediatedtransfer_event.transfer return mediatedtransfer_event
def send_lockedtransfer( initiator_state: InitiatorTransferState, channel_state: NettingChannelState, message_identifier, block_number: typing.BlockNumber, ) -> SendLockedTransfer: """ Create a mediated transfer using channel. Raises: AssertionError: If the channel does not have enough capacity. """ transfer_token_address = initiator_state.transfer_description.token_network_identifier assert channel_state.token_network_identifier == transfer_token_address transfer_description = initiator_state.transfer_description lock_expiration = get_initial_lock_expiration( block_number, channel_state.settle_timeout, ) lockedtransfer_event = channel.send_lockedtransfer( channel_state, transfer_description.initiator, transfer_description.target, transfer_description.amount, message_identifier, transfer_description.payment_identifier, lock_expiration, transfer_description.secrethash, ) assert lockedtransfer_event initiator_state.transfer = lockedtransfer_event.transfer return lockedtransfer_event