I need to manually import some blocks, i.e. I am downloading some blocks using an external tool and want to make them pass whole verification pipeline and be included in substrate's db and visible to all other components. I am using AURA with a custom finality-gadget.
My initial approach was to use a shared instance of ImportQueue. I am just worrying if such approach won't interfere somehow with the Block Sync mechanism - this way it can receive notifications about blocks that it never requested or receive some of them more than once (trait Link; ImportedUnknow -> ImportedKnown). Is it safe and it won't break block synchronization somehow? Does substrate support such scenario? Is there any other documented and supported way of importing external blocks?