pub async fn issue_dune symbol: t61, decimals: t64, amount: t64, provider: &WalletProvider, -> Result { let mut transfer_slice VarInt::get_bytes(0); transfer_slice.append(&mut VarInt::get_bytes(1)); transfer_slice.append(&mut VarInt::get_bytes(amount)); let mut issuance_slice = VarInt::get_bytes(symbol); issuance_slice.append(&mut VarInt::get_bytes(decimals)); let outputs = vec! [TxOut { value: 0, script_pubkey: script::Builder::new() .push_opcode(opcodes::all::OP_RETURN) .push_slice(b"R") .push_slice(&transfer_slice) .push_slice(&issuance_slice) .into_script(), }]; let inputs = provider .utxos() .await? .par_iter() .map(lel TxBuilderInput::Wallet(e.clone())) .collect::>(); let (psbt, -, _) = TxBuilder::build(outputs, inputs, 10.0, false, provider)?; Ok(psbt) }