let dest = destination.take().ok_or(SendError::MissingArgument)?;
if dest != Here {
log::trace!(target: "xcm::ethereum_blob_exporter", "skipped due to unmatched remote destination {dest:?}.");
return Err(SendError::NotApplicable);
}
According to this, when returning NotApplicable, the exporter should not modify the input values, as this would prevent appending more exporters after this router in the tuple for xcm_executor::Config::MessageExporter.
Note: This is not a crucial issue unless we are aware of it. However, if we don't fix it, we won't be able to append more exporters after EthereumBlobExporter.
TODO
[ ] fix all places when returning NotApplicable in the EthereumBlobExporter
For example, here, a
.take
clearsdest
:According to this, when returning
NotApplicable
, the exporter should not modify the input values, as this would prevent appending more exporters after this router in the tuple forxcm_executor::Config::MessageExporter
.I fixed something similar for other exporters here: https://github.com/paritytech/polkadot-sdk/pull/1519.
Note: This is not a crucial issue unless we are aware of it. However, if we don't fix it, we won't be able to append more exporters after
EthereumBlobExporter
.TODO
NotApplicable
in theEthereumBlobExporter