iota_types/stardust/output/
foundry.rs1use iota_protocol_config::ProtocolConfig;
5use iota_stardust_sdk::types::block::output::{FoundryOutput, OutputId};
6
7use crate::{
8 base_types::{ObjectID, SequenceNumber, TxContext},
9 id::UID,
10 object::Object,
11 stardust::{address::stardust_to_iota_address, coin_type::CoinType},
12};
13
14pub fn create_foundry_amount_coin(
15 output_id: &OutputId,
16 foundry: &FoundryOutput,
17 tx_context: &TxContext,
18 version: SequenceNumber,
19 protocol_config: &ProtocolConfig,
20 coin_type: &CoinType,
21) -> anyhow::Result<Object> {
22 crate::stardust::output::create_coin(
23 UID::new(ObjectID::new(output_id.hash())),
24 stardust_to_iota_address(*foundry.alias_address())?,
25 foundry.amount(),
26 tx_context,
27 version,
28 protocol_config,
29 coin_type,
30 )
31}