complete_transfer

@mount("ft4.crosschain.complete_transfer") operation complete_transfer(final_apply_transfer_tx: gtx_transaction, op_index: integer)(source)

This operation is to be called on the initial chain (the chain for which a crosschain transfer originated) once all hops are completed and the transfer has been successfully delivered to the recipient. Even if this operation is not called, the recipient will still receive their assets, but calling this operation will allow clients to stop displaying it as ongoing to the user that sent it.

Anyone can call this operation, but it needs to include an iccf_proof operation that the final apply_transfer was performed.

Throws "INPUT ERROR"if op_indexdoes not point to an apply_transfer` operation

Throws "INCOMPLETE TRANSFER" if the given apply_transfer was not called on the last chain; that is, if the hop_index parameter does not correspond to the last hop index.

Throws "WRONG DESTINATION" if the given apply_transfer was called on a chain that does not correspond to the init_transfer's last chain in the hops parameter

Throws if the transaction is missing the iccf_proof operation, which demonstrates that the block containing the final_apply_transfer_tx has been anchored from the target chain.

Requires no flags - no authorization is performed to complete a transfer.

Parameters

final_apply_transfer_tx

the transaction that was submitted and applied on the target chain in order to complete the crosschain transfer.

op_index

the index for the apply_transfer operation in question in final_apply_transfer_tx