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 object::Object,
10 stardust::{address::stardust_to_iota_address, coin_type::CoinType},
11};
12
13pub fn create_foundry_amount_coin(
14 output_id: &OutputId,
15 foundry: &FoundryOutput,
16 tx_context: &TxContext,
17 version: SequenceNumber,
18 protocol_config: &ProtocolConfig,
19 coin_type: &CoinType,
20) -> anyhow::Result<Object> {
21 crate::stardust::output::create_coin(
22 ObjectID::new(output_id.hash()),
23 stardust_to_iota_address(*foundry.alias_address())?,
24 foundry.amount(),
25 tx_context,
26 version,
27 protocol_config,
28 coin_type,
29 )
30}