{% extends "base.html" %} {% block content %} {% if alert_ok %}
Swap worker running normally · {{ worker.passes }} pass{{ "es" if worker.passes != 1 }} so far.
{% endif %} {% if pending_requests %}Sent, waiting on the maker to answer. Nothing is paid yet: an accept opens as a trade below within one worker pass, and a decline or a request nobody ever answers costs you nothing.
| Side | Amount | Maker | Sent | Status |
|---|---|---|---|---|
| {% if r.direction %} {{ 'Buying' if r.direction == 'sell' else 'Selling' }} {% else %} order gone {% endif %} | {{ fmt_lapse_dp(r.lapse_total, 4) }} | {{ short_addr(r.maker_lapse_addr) if r.maker_lapse_addr else "n/a" }} | {{ fmt_duration(now - r.sent_at) }} ago |
{{ r.status|capitalize }}
{{ r.detail }}
|
{{ t.done_steps }} of {{ t.increment_count }} steps delivered · {{ fmt_lapse_dp(t.delivered_lapse, 4) }} so far
{% if t.status == 'stalled' %}The other side has not moved for a while. Nothing is lost and nothing is being blamed yet: a node restarting or a slow connection looks exactly like this. The trade picks up by itself if they come back. {% if t.at_risk %} Your exposure while you wait is {{ fmt_xlm(t.at_risk) }} XLM, which is one step and the most this can cost you. {% endif %}
{% endif %}| Counterparty | {{ t.peer_lapse_addr }} |
| Started | {{ fmt_duration(now - t.created_at) }} ago |
| Most at risk | {{ fmt_xlm(t.step_cap) }} XLM (one step) |
| # | LAPSE | XLM | You send | They send |
|---|---|---|---|---|
| {{ s.n }}{% if s.i_move_first %} (you first){% endif %} | {{ fmt_lapse_dp(s.lapse_amount, 4) }} | {{ fmt_xlm(s.xlm_amount) }} | {{ leg_label(s.out_state)|safe }} | {{ leg_label(s.in_state)|safe }} |
No trades running. Start one from the Market.
{% endif %}| Side | Amount | Counterparty | Outcome | When |
|---|---|---|---|---|
| {{ "Bought" if t.i_receive_lapse else "Sold" }} | {{ fmt_lapse_dp(t.delivered_lapse, 4) }} | {{ short_addr(t.peer_lapse_addr) }} |
{% if t.status == 'completed' %}
Completed
{% elif t.status == 'abandoned' %}
They walked away
after step {{ t.done_steps }}
{% else %}
{{ t.status }}
{% endif %}
|
{{ fmt_duration(now - t.updated_at) }} ago |
Nothing yet.
{% endif %} {% if fills.total %}This node holds {{ fills.total }} accepted trade{{ '' if fills.total == 1 else 's' }} gossiped from across the network, each independently reconstructed and checked against the chain the moment anyone's standing actually needs it - there is nothing to verify ahead of time and nothing cached, so a trade counted above was just re-derived fresh from public data, not taken on anyone's word.
{% endif %}Computed fresh from the chain, same as anyone else's.
| Address | {{ my_addr }} |
| Standing | {% if my_standing.abandoned_count %} {{ my_standing.abandoned_count }} currently unresolved "missed" claim{{ '' if my_standing.abandoned_count == 1 else 's' }} {% else %} {{ fmt_score(my_standing.score) }} {% endif %} |
| Completed (verified) | {{ my_standing.completed_count }} |
| Volume (verified) | {{ fmt_lapse_dp(my_standing.completed_lapse, 2) }} |
| Address | Standing | Completed | Volume | Walked away |
|---|---|---|---|---|
| {{ short_addr(p.addr) }} | {% if p.abandoned_count %} None {% else %} {{ fmt_score(p.score) }} {% endif %} | {{ p.completed_count }} {% if p.network_completed_count %} ({{ p.network_completed_count }} from others) {% endif %} | {{ fmt_lapse_dp(p.completed_lapse, 2) }} | {{ p.abandoned_count or "no" }} {% if p.network_abandoned_count %} ({{ p.network_abandoned_count }} reported by others) {% endif %} |
Standing decides only how large a single step may be with someone, never whether a trade is safe. A stranger can still trade here; the pieces are just smaller. A score of zero next to a real record means the address is too new or holds too little for that record to count, which is what stops a reputation being rebuilt for free on a throwaway address.
{% else %}Nobody yet.
{% endif %} {% endblock %}