cocktail/vodka_inputs
Functions
Extracts the inline datum from an input.
expect inline_datum: MyDatumType = input_inline_datum(input)
Extract the inline datum by locating the first input in a list of inputs by Address and PolicyId.
expect inline_datum: MyDatumType = only_input_datum_with(inputs, policy, name)
Filters inputs by Address.
let filtered_inputs = inputs_at(inputs, address)
Predicate to filter inputs by Address, can be used as grouping inputs for example.
let predicate = i_at(address)
let (grouped_inputs, other_inputs) = group_inputs(inputs, predicate)
Filters inputs by PolicyId and AssetName.
let filtered_inputs = inputs_with(inputs, policy, name)
Predicate to filter inputs by PolicyId and AssetName, can be used as grouping inputs for example.
let predicate = i_with(policy, name)
let (grouped_inputs, other_inputs) = group_inputs(inputs, predicate)
Filters inputs by token policy.
let filtered_inputs = inputs_with_policy(inputs, policy)
Predicate to filter inputs by token policy, can be used as grouping inputs for example.
let predicate = i_with_policy(policy)
let (grouped_inputs, other_inputs) = group_inputs(inputs, predicate)
inputs_at_with(
inputs: List<Input>,
address: Address,
policy: PolicyId,
name: AssetName,
) -> List<Input>
Filters inputs by Address, PolicyId, and AssetName.
let filtered_inputs = inputs_at_with(inputs, address, policy, name)
Predicate to filter inputs by Address, PolicyId, and AssetName, can be used as grouping inputs for example.
let predicate = i_at_with(address, policy, name)
let (grouped_inputs, other_inputs) = group_inputs(inputs, predicate)
Filters inputs by Address and PolicyId.
let filtered_inputs = inputs_at_with_policy(inputs, address, policy)
Calculate the total quantity of a token in a list of inputs.
let total_quantity = inputs_token_quantity(inputs, token)
Group inputs into two lists based on a predicate. First list contains inputs that satisfy the predicate, second list contains the rest.
let (grouped_inputs, other_inputs) = group_inputs(inputs, predicate)
group_inputs_2(
inputs: List<Input>,
group1: fn(Input) -> Bool,
group2: fn(Input) -> Bool,
) -> (List<Input>, List<Input>, List<Input>)
Group inputs into three lists based on two predicates. First list contains inputs that satisfy the first predicate, second list contains inputs that satisfy the second predicate, third list contains the rest.
let (group1_inputs, group2_inputs, other_inputs) = group_inputs_2