ChainAdapter::prepare for TransferIntent::Transfer: Balances::transfer_keep_alive for ordinary accounts, ReversibleTransfers::schedule_transfer (with the chosen delay) when reversible is set or when the account is high-security and therefore may not send plainly. Fee via TransactionPaymentCallApi::query_call_info. The review summary is decoded from the encoded call bytes with the runtime metadata, not from the intent, and prepare fails if the two disagree. submit and status follow the extrinsic to InBlock and Finalized, surfacing a dispatch error's pallet and variant name.
Also: cancel_transfer for a pending reversible transfer, and listing PendingTransfersBySender.
Acceptance
Against Heisenberg: a reversible send appears in the pending list, is cancelled, and the balance returns; a plain send finalizes and the recipient sees it. A dispatch error (insufficient balance) reads as Balances::InsufficientBalance, not a hex code.
Depends on
Balances and nonce.
Parent: #3
## Scope
`ChainAdapter::prepare` for `TransferIntent::Transfer`: `Balances::transfer_keep_alive` for ordinary accounts, `ReversibleTransfers::schedule_transfer` (with the chosen delay) when `reversible` is set or when the account is high-security and therefore may not send plainly. Fee via `TransactionPaymentCallApi::query_call_info`. The review summary is decoded from the encoded call bytes with the runtime metadata, not from the intent, and `prepare` fails if the two disagree. `submit` and `status` follow the extrinsic to `InBlock` and `Finalized`, surfacing a dispatch error's pallet and variant name.
Also: `cancel_transfer` for a pending reversible transfer, and listing `PendingTransfersBySender`.
## Acceptance
Against Heisenberg: a reversible send appears in the pending list, is cancelled, and the balance returns; a plain send finalizes and the recipient sees it. A dispatch error (insufficient balance) reads as `Balances::InsufficientBalance`, not a hex code.
## Depends on
Balances and nonce.
grenade
added the child label 2026-09-15 12:39:05 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent: #3
Scope
ChainAdapter::prepareforTransferIntent::Transfer:Balances::transfer_keep_alivefor ordinary accounts,ReversibleTransfers::schedule_transfer(with the chosen delay) whenreversibleis set or when the account is high-security and therefore may not send plainly. Fee viaTransactionPaymentCallApi::query_call_info. The review summary is decoded from the encoded call bytes with the runtime metadata, not from the intent, andpreparefails if the two disagree.submitandstatusfollow the extrinsic toInBlockandFinalized, surfacing a dispatch error's pallet and variant name.Also:
cancel_transferfor a pending reversible transfer, and listingPendingTransfersBySender.Acceptance
Against Heisenberg: a reversible send appears in the pending list, is cancelled, and the balance returns; a plain send finalizes and the recipient sees it. A dispatch error (insufficient balance) reads as
Balances::InsufficientBalance, not a hex code.Depends on
Balances and nonce.