Statuses for Messages and Transfers #30
adamant-al
announced in
Dev Guidelines & Docs
Replies: 2 comments
-
|
Amazing contribution, |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
My contribution to this topic: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
See also:
Message Statuses
👉 In ADAMANT, there is no "read" status for messages, and it will never be implemented — to preserve user privacy.
Messages (without sockets)
Messages (with sockets)
Incoming messages
block_timestamp,height,blockId, andconfirmationsarenull.SOCKET_ENABLED_TIMEOUT) for reliability.Outgoing messages
Cryptocurrency Transfers and Status Checks
Reference: AIP-12
Transaction check rules per coin are defined in
adamant-wallets(txFetchInfo).Final Statuses
Transaction details view/screen
Workflow:
Pending → Registered → Success / Failed / Inconsistent.Special Notes for ADM Transactions
confirmations > 0→ ✅ Successconfirmations = 0→ ⏳ Pending or RegisteredReliability and Edge Cases
Determining Transaction State (New/Old)
This classification is only relevant for Pending transactions, as it helps decide:
Rules
Choosing X interval
Why This Matters
This distinction ensures efficient polling behavior:
Example: Bitcoin Transfer
Constants from adamant-wallets:
Transaction Statuses (once again)
Checking Logic for Pending Transactions
New Pending TX (just sent):
newPendingInterval)newPendingAttempts)Registered Transactions
registeredInterval)Re-checking Statuses (UI/UX)
Storage Notes
Inconsistency
We mark a transfer as Inconsistent when there’s a mismatch between the transfer data recorded in the ADAMANT message and the data retrieved from the token’s blockchain. A transfer is considered inconsistent if any of the following holds:
Special “non-standard” statuses
The coin is not supported by the app, so we cannot verify the transfer (e.g.,
xrp_transaction).Behavior: tapping such a transaction does not open details; show a snackbar/popup:
Cryptocurrency is not supported yet.A critical case. Example: you send 1 BTC and post the corresponding ADM transaction in chat → it’s valid and becomes Success. Immediately after, another ADM message is sent with the same TX hash for 1 BTC. All checks (1–4) pass again, so it would also become Success—making it look like 1 + 1 = 2 BTC were sent.
Mitigation:
Status updates propagate both in the chat list and inside the chat.
Inconsistency Reasons (Table)
UI demo for Transfer statuses
DASH In-Chat PWA-dev v4.9.0 3G — 2025-03-04
Unknown/ ⏳ ~10 secPendingPending~2 minConfirmedwith no details ~5 secConfirmedwith details — FinalDASH In-Chat iOS v3.11.0 (3) TestFlight — 2025-03-04
Unknown/ ⏳ ~3 secPending~0 secPending~2 minConfirmedwith no details ~0 secConfirmedwith details — FinalBeta Was this translation helpful? Give feedback.
All reactions