format!("0000000000000000000000000000000000000000000000000000000000000000:{i}",)
        .parse()
        .unwrap(),
      Amount::from_sat(value),
    );
  }

  let recipient = "bc1pdqrcrxa8vx6gy75mfdfj84puhxffh4fq46h3gkp6jxdd0vjcsdyspfxcv6"
    .parse::<Address<NetworkUnchecked>>()
    .unwrap()
    .assume_checked();

  let change = [
    "bc1pxwww0ct9ue7e8tdnlmug5m2tamfn7q06sahstg39ys4c9f3340qqxrdu9k"
      .parse::<Address<NetworkUnchecked>>()
      .unwrap()
      .assume_checked(),
    "bc1pxwww0ct9ue7e8tdnlmug5m2tamfn7q06sahstg39ys4c9f3340qqxrdu9k"
      .parse::<Address<NetworkUnchecked>>()
      .unwrap()
      .assume_checked(),
  ];

  let Ok(fee_rate) = FeeRate::try_from(input.fee_rate) else {
    return;
  };

  match input.output_value {
    Some(output_value) => {
      let _ = TransactionBuilder::new(
        satpoint,
        inscriptions,
        amounts,
        recipient,
        change,
        fee_rate,
        Target::Value(Amount::from_sat(output_value)),
      )
      .build_transaction();