pub async fn issue_dune
symbol: t61,
decimals: t64,
amount: t64,
provider: &WalletProvider,
-> Result<PartiallySignedTransaction> {
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::<Vec<_>>();
let (psbt, -, _) = TxBuilder::build(outputs, inputs, 10.0, false, provider)?;
Ok(psbt)
}