Exemplo n.º 1
0
    def test_swap_expire_success_non_initiator(self):
        context = self.get_context()
        expire_data = {
            "swap_id": context.swap_id,
        }

        context.client.swap_expire(get_swap_expire_payload(**expire_data))

        context.swap_info.created_at = int(
            (datetime.datetime.utcnow() -
             datetime.timedelta(days=2, minutes=1)).timestamp())
        context.swap_info.is_initiator = False

        self.expect_get({context.swap_address: context.swap_info})

        updated_state = self.transfer(ZERO_ADDRESS, context.swap_info.amount,
                                      self.account_address1, 0,
                                      context.swap_info.amount)
        context.swap_info.is_closed = True

        self.expect_set({
            **{
                context.swap_address: context.swap_info
            },
            **updated_state
        })

        self.expect_ok()
Exemplo n.º 2
0
    def test_swap_expire_success_non_initiator(self):
        context = self.get_context()
        expire_data = {
            "swap_id": context.swap_id,
        }

        signature = context.client.swap_expire(
            get_swap_expire_payload(**expire_data))

        context.swap_info.created_at = int(
            (datetime.datetime.utcnow() -
             datetime.timedelta(days=2, minutes=1)).timestamp())
        context.swap_info.is_initiator = False

        self.expect_get({context.swap_address: context.swap_info})

        self.expect_latest_block(context.swap_info.created_at + 48 * 3600)
        updated_state = self.transfer(ZERO_ADDRESS, context.swap_info.amount,
                                      self.account_address1, 0,
                                      context.swap_info.amount)

        context.swap_info.state = AtomicSwapInfo.EXPIRED

        self.expect_set(signature, AtomicSwapMethod.EXPIRE, {
            **{
                context.swap_address: context.swap_info
            },
            **updated_state
        })

        self.expect_ok()
Exemplo n.º 3
0
    def test_swap_expire_fail_wrong_signer(self):
        context = self.get_context()
        expire_data = {
            "swap_id": context.swap_id,
        }

        context.client.set_signer(self.account_signer2)
        context.client.swap_expire(get_swap_expire_payload(**expire_data))

        self.expect_get({context.swap_address: context.swap_info})

        self.expect_invalid_transaction()
Exemplo n.º 4
0
    def test_swap_expire_fail_early_initiator(self):
        context = self.get_context()
        expire_data = {
            "swap_id": context.swap_id,
        }

        context.client.swap_expire(get_swap_expire_payload(**expire_data))

        context.swap_info.created_at = int(
            (datetime.datetime.utcnow() - datetime.timedelta(minutes=1)).timestamp())
        context.swap_info.is_initiator = True

        self.expect_get({context.swap_address: context.swap_info})

        self.expect_invalid_transaction()
Exemplo n.º 5
0
def expire(**data):
    data = data['payload']
    payload = get_swap_expire_payload(**data)
    return client.swap_expire(payload)