dpp/tests/fixtures/
get_token_conventions_fixture.rs1use crate::data_contract::associated_token::token_configuration_convention::v0::TokenConfigurationConventionV0;
2use crate::data_contract::associated_token::token_configuration_convention::TokenConfigurationConvention;
3use crate::data_contract::associated_token::token_configuration_localization::v0::TokenConfigurationLocalizationV0;
4
5pub fn get_token_conventions_with_localizations_fixture(
11 entries: usize,
12) -> TokenConfigurationConvention {
13 let letters = || ('a'..='z').chain('A'..='Z');
14 let two_letter_codes = letters().flat_map(move |a| letters().map(move |b| format!("{a}{b}")));
15 let three_letter_codes = letters().flat_map(move |a| {
16 letters().flat_map(move |b| letters().map(move |c| format!("{a}{b}{c}")))
17 });
18 let localizations = std::iter::once("en".to_string())
19 .chain(
20 two_letter_codes
21 .chain(three_letter_codes)
22 .filter(|code| code != "en"),
23 )
24 .take(entries)
25 .map(|code| {
26 (
27 code,
28 TokenConfigurationLocalizationV0 {
29 should_capitalize: false,
30 singular_form: "abc".to_string(),
31 plural_form: "abc".to_string(),
32 }
33 .into(),
34 )
35 })
36 .collect();
37 TokenConfigurationConvention::V0(TokenConfigurationConventionV0 {
38 localizations,
39 decimals: 8,
40 })
41}