def state_transition( payment_state: InitiatorPaymentState, state_change: StateChange, channelidentifiers_to_channels: initiator.ChannelMap, pseudo_random_generator: random.Random, block_number: typing.BlockNumber, ) -> TransitionResult: # pylint: disable=unidiomatic-typecheck if type(state_change) == ActionInitInitiator: iteration = handle_init( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ReceiveSecretRequest: sub_iteration = initiator.handle_secretrequest( payment_state.initiator, state_change, pseudo_random_generator, ) iteration = iteration_from_sub(payment_state, sub_iteration) elif type(state_change) == ActionCancelRoute: iteration = handle_cancelroute( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ReceiveTransferRefundCancelRoute: iteration = handle_transferrefundcancelroute( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ActionCancelPayment: iteration = handle_cancelpayment( payment_state, ) elif type(state_change) == ReceiveSecretReveal: iteration = handle_secretreveal( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, ) else: iteration = TransitionResult(payment_state, list()) sanity_check(iteration.new_state) return iteration
def state_transition( payment_state: InitiatorPaymentState, state_change: StateChange, channelidentifiers_to_channels: initiator.ChannelMap, pseudo_random_generator: random.Random, block_number: typing.BlockNumber, ) -> TransitionResult: # pylint: disable=unidiomatic-typecheck if type(state_change) == ActionInitInitiator: iteration = handle_init( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ReceiveSecretRequest: sub_iteration = initiator.handle_secretrequest( payment_state.initiator, state_change, pseudo_random_generator, ) iteration = iteration_from_sub(payment_state, sub_iteration) elif type(state_change) == ActionCancelRoute: iteration = handle_cancelroute( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ReceiveTransferRefundCancelRoute: iteration = handle_transferrefundcancelroute( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, block_number, ) elif type(state_change) == ActionCancelPayment: iteration = handle_cancelpayment(payment_state, ) elif type(state_change) == ReceiveSecretReveal: iteration = handle_secretreveal( payment_state, state_change, channelidentifiers_to_channels, pseudo_random_generator, ) else: iteration = TransitionResult(payment_state, list()) sanity_check(iteration.new_state) return iteration
def state_transition(payment_state, state_change, channelidentifiers_to_channels, block_number): if type(state_change) == ActionInitInitiator: iteration = handle_init( payment_state, state_change, channelidentifiers_to_channels, block_number, ) elif type(state_change) == ReceiveSecretRequest: sub_iteration = initiator.handle_secretrequest( payment_state.initiator, state_change, ) iteration = iteration_from_sub(payment_state, sub_iteration) elif type(state_change) == ActionCancelRoute: iteration = handle_cancelroute( payment_state, state_change, channelidentifiers_to_channels, block_number, ) elif type(state_change) == ReceiveTransferRefundCancelRoute: iteration = handle_transferrefund( payment_state, state_change, channelidentifiers_to_channels, block_number, ) elif type(state_change) == ActionCancelPayment: iteration = handle_cancelpayment(payment_state, ) elif type(state_change) == ReceiveSecretReveal: iteration = handle_secretreveal( payment_state, state_change, channelidentifiers_to_channels, ) else: iteration = TransitionResult(payment_state, list()) sanity_check(iteration.new_state) return iteration