inscriptions.push(Inscription::from_file( chain, &entry.file, self.parent, if i == 0 { None } else { Some(pointer) }, entry.metaprotocol.clone(), match &metadata { Some(metadata) => Some(metadata.clone()), None => entry.metadata()?, }, compress, )?); pointer += postage.to_sat(); } let destinations = match self.mode { Mode::SharedOutput => vec![get_change_address(client, chain)?], Mode::SeparateOutputs => self .inscriptions .iter() .map(|entry| { entry.destination.as_ref().map_or_else( || get_change_address(client, chain), |address| { address .clone() .require_network(chain.network()) .map_err(|e| e.into()) }, ) }) .collect::, _>>()?, }; Ok((inscriptions, destinations)) } }