cancel_transfer
Cancels a crosschain transfer that has expired. This operation must be called in place of apply_transfer
to start the transfer canceling process. unapply_transfer
must then be called on all previous chains to bring the funds back to the sender account.
Throws "TRANSFER NOT EXPIRED"
if the transfer has not yet expired.
Throws in various cases of misconfiguration. Some examples:
the transfer has already been applied, canceled or unapplied on this chain.
the chain at
hop_index
on the init transaction is not this chainthe
op_index
onprevious_hop_tx
does not point to:init_transfer
whenhop_index
is 0apply_transfer
otherwisethe
init_tx_op_index
does not point toinit_transfer
on itsinit_transfer_tx
the operation preceding
init_transfer
is not an auth operationarguments found in
init_transfer_tx
andprevious_hop_tx
do not matchhop_index
is out of boundsprevious_hop_tx
has not been sent to the chain that comes before this one on the transfer hops
Throws if the transaction is missing the iccf_proof
operation, which demonstrates that the block containing the previous_hop_tx
has been anchored from the previous chain.
Anyone can call this operation, but it needs to include an iccf_proof
operation that apply_transfer
was performed on the previous chain.
Parameters
the transaction containing the init_transfer
operation which corresponds to the transfer to cancel
the index of the init_transfer
operation in init_transfer_tx
the transaction containing the apply_transfer
operation of the previous hop
the index of the apply_transfer
or init_transfer
operation in previous_hop_tx
which index in the hops array provided in the original transaction this chain represents.
See also
for information on auth operations
to know more about the crosschain transfer workflow
to know more about transfer canceling
for information on