if(destinations[0]->m_amount!=boost::none)throwstd::runtime_error("Cannot specify destination amount to sweep");
if(config.m_key_image!=boost::none)throwstd::runtime_error("Cannot define key image in sweep_account(); use sweep_output() to sweep an output by its key image");
if(config.m_sweep_each_subaddress!=boost::none&&config.m_sweep_each_subaddress.get()==true)throwstd::runtime_error("Cannot sweep each subaddress individually with sweep_account");
if(config.m_subtract_fee_from.size()>0)throwstd::runtime_error("Sweep transfers do not support subtracting fees from destinations");
if(config.m_subtract_fee_from.size()>0)throwstd::runtime_error("Sweep transactions do not support subtracting fees from destinations");
// validate the transfer requested and populate dsts & extra
if(config.m_key_image==boost::none||config.m_key_image.get().empty())throwstd::runtime_error("Must provide key image of output to sweep");
if(destinations.size()!=1||destinations[0]->m_address==boost::none||destinations[0]->m_address.get().empty())throwstd::runtime_error("Must provide exactly one destination address to sweep output to");
if(config.m_subtract_fee_from.size()>0)throwstd::runtime_error("Sweeping output does not support subtracting fees from destinations");
if(config.m_subtract_fee_from.size()>0)throwstd::runtime_error("Sweep transactions do not support subtracting fees from destinations");
// validate the transfer queried and populate dsts & extra