radix_engine/blueprints/test_utils/
blueprint.rs1use crate::errors::RuntimeError;
2use crate::internal_prelude::*;
3
4use radix_engine_interface::api::SystemApi;
5use radix_engine_interface::blueprints::test_utils::*;
6
7pub struct TestUtilsBlueprint;
8
9impl TestUtilsBlueprint {
10 pub fn get_definition() -> BlueprintDefinitionInit {
11 let mut aggregator = TypeAggregator::<ScryptoCustomTypeKind>::new();
12
13 let functions = indexmap! {
14 TEST_UTILS_PANIC_IDENT.to_owned() => FunctionSchemaInit {
15 receiver: None,
16 input: TypeRef::Static(
17 aggregator.add_child_type_and_descendents::<TestUtilsPanicInput>(),
18 ),
19 output: TypeRef::Static(
20 aggregator.add_child_type_and_descendents::<TestUtilsPanicOutput>(),
21 ),
22 export: TEST_UTILS_PANIC_IDENT.to_string(),
23 }
24 };
25 let schema = generate_full_schema(aggregator);
26
27 BlueprintDefinitionInit {
28 blueprint_type: BlueprintType::default(),
29 is_transient: false,
30 feature_set: Default::default(),
31 dependencies: Default::default(),
32 schema: BlueprintSchemaInit {
33 generics: Default::default(),
34 schema,
35 state: BlueprintStateSchemaInit {
36 fields: Default::default(),
37 collections: Default::default(),
38 },
39 events: BlueprintEventSchemaInit {
40 event_schema: Default::default(),
41 },
42 types: BlueprintTypeSchemaInit::default(),
43 functions: BlueprintFunctionsSchemaInit { functions },
44 hooks: BlueprintHooksInit {
45 hooks: Default::default(),
46 },
47 },
48 royalty_config: Default::default(),
49 auth_config: AuthConfig {
50 function_auth: FunctionAuth::AllowAll,
51 method_auth: MethodAuthTemplate::StaticRoleDefinition(roles_template!()),
52 },
53 }
54 }
55
56 pub fn panic<Y: SystemApi<RuntimeError>>(
57 message: &str,
58 _api: &mut Y,
59 ) -> Result<(), RuntimeError> {
60 panic!("{}", message);
61 }
62}