From d5edd09bdf104b54c72f634b65fb472732921852 Mon Sep 17 00:00:00 2001 From: David Edey Date: Fri, 26 Jul 2024 23:51:01 +0100 Subject: [PATCH 01/10] refactor: Use SBOR raw value across engine for better worst case performance --- radix-clis/Cargo.lock | 87 +- radix-clis/src/resim/cmd_publish.rs | 25 +- radix-clis/src/resim/dumper.rs | 5 +- radix-common/benches/schema.rs | 14 +- .../src/data/manifest/custom_extension.rs | 1 + .../src/data/manifest/custom_formatting.rs | 2 +- .../src/data/manifest/custom_serde.rs | 4 +- .../src/data/manifest/custom_validation.rs | 38 +- radix-common/src/data/manifest/definitions.rs | 16 + .../src/data/scrypto/custom_extension.rs | 1 + .../src/data/scrypto/custom_formatting.rs | 2 +- .../data/scrypto/custom_payload_wrappers.rs | 4 + radix-common/src/data/scrypto/custom_serde.rs | 4 +- .../data/scrypto/custom_well_known_types.rs | 18 +- radix-common/src/data/scrypto/definitions.rs | 20 +- .../scrypto/model/non_fungible_local_id.rs | 4 - radix-common/src/math/decimal.rs | 4 +- radix-common/src/types/node_and_substate.rs | 27 +- radix-engine-interface/src/api/actor_api.rs | 5 +- .../src/api/actor_index_api.rs | 35 +- .../src/api/actor_key_value_entry_api.rs | 43 +- .../src/api/actor_sorted_index_api.rs | 34 +- radix-engine-interface/src/api/field_api.rs | 20 +- .../src/api/key_value_entry_api.rs | 21 +- .../src/api/key_value_store_api.rs | 34 +- radix-engine-interface/src/api/object_api.rs | 2 +- .../non_fungible_resource_manager.rs | 12 +- .../src/types/indexed_value.rs | 150 +- .../tests/well_known_types.rs | 19 +- radix-engine-monkey-tests/src/lib.rs | 4 +- radix-engine-monkey-tests/src/resource.rs | 19 +- .../tests/fuzz_kernel.rs | 8 +- .../src/lib.rs | 2 +- radix-engine-tests/benches/costing.rs | 24 +- .../tests/application/reconciliation_log.txt | 10178 ++++++++++++++++ .../tests/application/stake_reconciliation.rs | 95 +- .../blueprints/access_controller_big_vault.rs | 6 +- .../tests/blueprints/account_locker.rs | 8 +- .../tests/blueprints/pool_multi_resource.rs | 10 +- .../tests/blueprints/pool_one_resource.rs | 10 +- .../tests/blueprints/pool_two_resource.rs | 10 +- .../tests/flash/access_controller.rs | 2 +- radix-engine-tests/tests/kernel/kernel.rs | 4 +- .../tests/kernel/kernel_open_substate.rs | 2 +- radix-engine-tests/tests/kernel/panics.rs | 16 +- .../tests/kernel/test_environment.rs | 2 +- radix-engine-tests/tests/system/auth_zone.rs | 4 +- radix-engine-tests/tests/system/bootstrap.rs | 6 +- .../tests/system/consensus_manager.rs | 2 +- radix-engine-tests/tests/system/events.rs | 80 +- .../tests/system/execution_cost.rs | 2 +- .../tests/system/royalty_edge_cases.rs | 2 +- .../tests/system/system_access_rule.rs | 2 +- .../tests/system/system_actor_collection.rs | 6 +- .../tests/system/system_actor_field.rs | 2 +- .../tests/system/system_call_method.rs | 2 +- .../tests/system/system_errors.rs | 10 +- .../tests/system/system_genesis_packages.rs | 2 +- .../tests/system/system_global_address.rs | 4 +- .../tests/system/system_kv_store.rs | 4 +- .../tests/system/system_lock_fee.rs | 2 +- .../tests/system/system_module_methods.rs | 6 +- .../tests/system/system_reference.rs | 8 +- .../tests/system/system_role_assignment.rs | 8 +- radix-engine-tests/tests/vm/native_vm.rs | 2 +- .../access_controller/v1/blueprint.rs | 21 +- .../access_controller/v1/package.rs | 4 +- .../access_controller/v2/blueprint.rs | 4 +- .../access_controller/v2/package.rs | 4 +- .../src/blueprints/account/blueprint.rs | 56 +- .../src/blueprints/account/package.rs | 52 +- .../consensus_manager/consensus_manager.rs | 4 +- .../blueprints/consensus_manager/package.rs | 62 +- .../blueprints/consensus_manager/validator.rs | 13 +- .../src/blueprints/identity/package.rs | 15 +- .../src/blueprints/locker/blueprint.rs | 18 +- radix-engine/src/blueprints/locker/package.rs | 2 +- radix-engine/src/blueprints/models/keys.rs | 6 +- .../models/native_blueprint_state_macro.rs | 10 +- .../src/blueprints/package/package.rs | 36 +- .../src/blueprints/pool/v1/package.rs | 56 +- .../auth_zone/auth_zone_composition.rs | 10 +- .../non_fungible_resource_manager.rs | 59 +- .../non_fungible/non_fungible_vault.rs | 10 +- .../src/blueprints/resource/package.rs | 237 +- .../src/blueprints/resource/worktop.rs | 38 +- .../src/blueprints/test_utils/package.rs | 4 +- .../transaction_processor/package.rs | 4 +- .../transaction_processor/tx_processor.rs | 6 +- .../blueprints/transaction_tracker/package.rs | 4 +- radix-engine/src/errors.rs | 2 +- radix-engine/src/kernel/call_frame.rs | 27 +- radix-engine/src/kernel/heap.rs | 32 +- radix-engine/src/kernel/kernel.rs | 34 +- radix-engine/src/kernel/kernel_api.rs | 24 +- .../src/kernel/kernel_callback_api.rs | 10 +- radix-engine/src/kernel/substate_io.rs | 23 +- .../src/object_modules/metadata/package.rs | 44 +- .../object_modules/role_assignment/package.rs | 28 +- .../src/object_modules/royalty/package.rs | 24 +- radix-engine/src/system/bootstrap.rs | 2 +- .../checkers/component_royalty_db_checker.rs | 16 +- radix-engine/src/system/checkers/error.rs | 7 +- .../src/system/checkers/kernel_db_checker.rs | 2 +- .../checkers/package_royalty_db_checker.rs | 17 +- .../system/checkers/resource_db_checker.rs | 23 +- .../system/checkers/resource_event_checker.rs | 28 +- .../checkers/role_assignment_db_checker.rs | 18 +- .../src/system/checkers/system_db_checker.rs | 133 +- .../system/checkers/system_event_checker.rs | 19 +- radix-engine/src/system/node_init.rs | 4 +- radix-engine/src/system/system.rs | 318 +- radix-engine/src/system/system_callback.rs | 59 +- .../src/system/system_callback_api.rs | 2 +- radix-engine/src/system/system_db_reader.rs | 102 +- .../system/system_modules/auth/auth_module.rs | 4 +- .../system_modules/auth/authorization.rs | 10 +- .../system_modules/costing/costing_entry.rs | 25 +- .../system_modules/costing/costing_module.rs | 6 +- .../system_modules/costing/fee_table.rs | 10 +- .../system_modules/execution_trace/module.rs | 2 +- .../system_modules/kernel_trace/module.rs | 6 +- .../system/system_modules/limits/module.rs | 4 +- .../transaction_runtime/module.rs | 7 +- .../src/system/system_type_checker.rs | 90 +- radix-engine/src/system/type_info.rs | 2 +- radix-engine/src/track/interface.rs | 14 +- radix-engine/src/track/state_updates.rs | 44 +- radix-engine/src/track/track.rs | 57 +- .../src/transaction/state_update_summary.rs | 2 +- .../src/transaction/system_structure.rs | 6 +- .../src/transaction/transaction_executor.rs | 2 +- .../src/transaction/transaction_receipt.rs | 287 +- .../src/transaction/transaction_reconciler.rs | 33 +- radix-engine/src/updates/anemone.rs | 22 +- radix-engine/src/updates/bottlenose.rs | 61 +- radix-engine/src/utils/macros.rs | 2 +- .../utils/native_blueprint_call_validator.rs | 24 +- radix-engine/src/vm/native_vm.rs | 8 +- radix-engine/src/vm/scrypto_vm.rs | 6 +- radix-engine/src/vm/vm.rs | 18 +- .../src/vm/wasm_runtime/scrypto_runtime.rs | 19 +- radix-native-sdk/src/component/object.rs | 19 +- .../src/resource/resource_manager.rs | 7 +- radix-native-sdk/src/runtime/runtime.rs | 8 +- .../src/db_key_mapper.rs | 17 +- .../src/query/traverse.rs | 8 +- .../src/typed_native_events.rs | 6 +- .../src/typed_substate_layout.rs | 28 +- radix-transaction-scenarios/src/executor.rs | 2 +- .../src/scenarios/account_locker.rs | 2 +- radix-transactions/src/data/transformer.rs | 2 + radix-transactions/src/model/mod.rs | 5 +- sbor-tests/tests/enum.rs | 12 +- sbor/src/basic.rs | 14 + sbor/src/decoder.rs | 2 + sbor/src/encoded_wrappers.rs | 1097 +- sbor/src/encoder.rs | 18 + .../payload_validation/payload_validator.rs | 93 +- .../display/contextual_display.rs | 24 +- .../representations/display/nested_string.rs | 13 +- .../display/rustlike_string.rs | 10 +- .../contextual_serialize.rs | 11 +- .../serde_serialization/serde_serializer.rs | 78 +- sbor/src/schema/custom_traits.rs | 1 + sbor/src/traversal/typed/typed_traverser.rs | 4 + sbor/src/traversal/untyped/traverser.rs | 29 +- scrypto-test/src/environment/builder.rs | 2 +- scrypto-test/src/environment/env.rs | 2 +- scrypto-test/src/environment/system_api.rs | 48 +- .../ledger_simulator/inject_costing_err.rs | 16 +- .../src/ledger_simulator/ledger_simulator.rs | 38 +- .../src/sdk/resource/bucket_factory.rs | 4 +- .../src/sdk/resource/resource_builder.rs | 7 +- 174 files changed, 13240 insertions(+), 2096 deletions(-) create mode 100644 radix-engine-tests/tests/application/reconciliation_log.txt diff --git a/radix-clis/Cargo.lock b/radix-clis/Cargo.lock index 552d6175d27..e4627e788cb 100644 --- a/radix-clis/Cargo.lock +++ b/radix-clis/Cargo.lock @@ -779,6 +779,9 @@ name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", +] [[package]] name = "heck" @@ -1082,6 +1085,12 @@ dependencies = [ "uuid", ] +[[package]] +name = "multi-stash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685a9ac4b61f4e728e1d2c6a7844609c16527aeb5e6c865915c08e619c16410f" + [[package]] name = "nanorand" version = "0.7.0" @@ -1112,6 +1121,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "num-format" version = "0.4.4" @@ -1394,12 +1414,12 @@ dependencies = [ "radix-substate-store-interface", "radix-transactions", "radix-wasm-instrument", - "radix-wasmi", "sbor", "serde_json", "strum", "syn 1.0.109", "tempfile", + "wasmi", "wasmparser 0.107.0", ] @@ -1535,24 +1555,6 @@ dependencies = [ "wasmprinter", ] -[[package]] -name = "radix-wasmi" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bf4a0498ed223122e726f9360e9889c2bb6eb6898069f4b6f9960b067a742d" -dependencies = [ - "radix-wasmi-arena", - "spin", - "wasmi_core", - "wasmparser-nostd", -] - -[[package]] -name = "radix-wasmi-arena" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a03d7e7816ade40c6ecedff7515198906d644527771bd8fb5a335094353a15a" - [[package]] name = "rand" version = "0.7.3" @@ -1964,6 +1966,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" +[[package]] +name = "string-interner" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e" +dependencies = [ + "cfg-if", + "hashbrown 0.14.3", + "serde", +] + [[package]] name = "strsim" version = "0.10.0" @@ -2327,11 +2340,39 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "wasmi" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbaac6e702fa7b52258e5ac90d6e20a40afb37a1fbe7c645d0903ee42c5f85f4" +dependencies = [ + "arrayvec", + "multi-stash", + "num-derive", + "num-traits", + "smallvec", + "spin", + "wasmi_collections", + "wasmi_core", + "wasmparser-nostd", +] + +[[package]] +name = "wasmi_collections" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ff59e30e550a509cc689ec638e5042be4d78ec9f6dd8a71fd02ee28776a74fd" +dependencies = [ + "ahash", + "hashbrown 0.14.3", + "string-interner", +] + [[package]] name = "wasmi_core" -version = "0.8.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d21fc8d8dafc2df566ebcba7d48a2df7b37386d6afa64237cdf9415c8d7d98ec" +checksum = "13e10c674add0f92f47bf8ad57c55ee3ac1762a0d9baf07535e27e22b758a916" dependencies = [ "downcast-rs", "libm", @@ -2362,9 +2403,9 @@ dependencies = [ [[package]] name = "wasmparser-nostd" -version = "0.91.0" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c37f310b5a62bfd5ae7c0f1d8e6f98af16a5d6d84ba764e9c36439ec14e318b" +checksum = "d5a015fe95f3504a94bb1462c717aae75253e39b9dd6c3fb1062c934535c64aa" dependencies = [ "indexmap-nostd", ] diff --git a/radix-clis/src/resim/cmd_publish.rs b/radix-clis/src/resim/cmd_publish.rs index 0adc3fdd1e9..f51618737d0 100644 --- a/radix-clis/src/resim/cmd_publish.rs +++ b/radix-clis/src/resim/cmd_publish.rs @@ -160,21 +160,24 @@ impl Publish { let original_code = PackageCodeOriginalCode { code }; let instrumented_code = PackageCodeInstrumentedCode { instrumented_code }; { - let key = - SpreadPrefixKeyMapper::map_to_db_sort_key(&scrypto_encode(&code_hash).unwrap()); + let key = SpreadPrefixKeyMapper::map_to_db_sort_key( + &scrypto_encode_to_payload(&code_hash).unwrap(), + ); let update = DatabaseUpdate::Set(scrypto_encode(&vm_type.into_locked_substate()).unwrap()); vm_type_updates.insert(key, update); - let key = - SpreadPrefixKeyMapper::map_to_db_sort_key(&scrypto_encode(&code_hash).unwrap()); + let key = SpreadPrefixKeyMapper::map_to_db_sort_key( + &scrypto_encode_to_payload(&code_hash).unwrap(), + ); let update = DatabaseUpdate::Set( scrypto_encode(&original_code.into_locked_substate()).unwrap(), ); original_code_updates.insert(key, update); - let key = - SpreadPrefixKeyMapper::map_to_db_sort_key(&scrypto_encode(&code_hash).unwrap()); + let key = SpreadPrefixKeyMapper::map_to_db_sort_key( + &scrypto_encode_to_payload(&code_hash).unwrap(), + ); let update = DatabaseUpdate::Set( scrypto_encode(&instrumented_code.into_locked_substate()).unwrap(), ); @@ -190,7 +193,7 @@ impl Publish { let schema_hash = blueprint_schema.schema.generate_schema_hash(); schema_updates.insert( SpreadPrefixKeyMapper::map_to_db_sort_key( - &scrypto_encode(&schema_hash).unwrap(), + &scrypto_encode_to_payload(&schema_hash).unwrap(), ), DatabaseUpdate::Set( scrypto_encode(&blueprint_schema.schema.into_locked_substate()).unwrap(), @@ -264,13 +267,13 @@ impl Publish { }; blueprint_updates.insert( SpreadPrefixKeyMapper::map_to_db_sort_key( - &scrypto_encode(&blueprint_version_key.clone()).unwrap(), + &scrypto_encode_to_payload(&blueprint_version_key.clone()).unwrap(), ), DatabaseUpdate::Set(scrypto_encode(&def.into_locked_substate()).unwrap()), ); dependency_updates.insert( SpreadPrefixKeyMapper::map_to_db_sort_key( - &scrypto_encode(&blueprint_version_key.clone()).unwrap(), + &scrypto_encode_to_payload(&blueprint_version_key.clone()).unwrap(), ), DatabaseUpdate::Set( scrypto_encode( @@ -284,7 +287,7 @@ impl Publish { ); auth_config_updates.insert( SpreadPrefixKeyMapper::map_to_db_sort_key( - &scrypto_encode(&blueprint_version_key.clone()).unwrap(), + &scrypto_encode_to_payload(&blueprint_version_key.clone()).unwrap(), ), DatabaseUpdate::Set( scrypto_encode(&blueprint_definition.auth_config.into_locked_substate()) @@ -293,7 +296,7 @@ impl Publish { ); royalty_config_updates.insert( SpreadPrefixKeyMapper::map_to_db_sort_key( - &scrypto_encode(&blueprint_version_key.clone()).unwrap(), + &scrypto_encode_to_payload(&blueprint_version_key.clone()).unwrap(), ), DatabaseUpdate::Set( scrypto_encode(&blueprint_definition.royalty_config.into_locked_substate()) diff --git a/radix-clis/src/resim/dumper.rs b/radix-clis/src/resim/dumper.rs index 5dabe36c443..d3264666abf 100644 --- a/radix-clis/src/resim/dumper.rs +++ b/radix-clis/src/resim/dumper.rs @@ -308,9 +308,8 @@ fn get_entity_metadata( ) .unwrap() .map(|(key, value)| { - let map_key = key.into_map(); - let key = scrypto_decode::(&map_key).unwrap(); - let value = scrypto_decode::(&value).unwrap(); + let key: String = key.into_map().decode_as().unwrap(); + let value: MetadataEntryEntryPayload = value.decode_as().unwrap(); (key, value.fully_update_and_into_latest_version()) }) .collect() diff --git a/radix-common/benches/schema.rs b/radix-common/benches/schema.rs index 2923c6ad7a8..911eb3e0333 100644 --- a/radix-common/benches/schema.rs +++ b/radix-common/benches/schema.rs @@ -1,6 +1,5 @@ use criterion::{criterion_group, criterion_main, Criterion}; -use radix_common::data::scrypto::{scrypto_encode, ScryptoCustomExtension, ScryptoCustomSchema}; -use radix_common::prelude::SCRYPTO_SBOR_V1_MAX_DEPTH; +use radix_common::data::scrypto::*; use radix_common::*; use sbor::rust::prelude::*; use sbor::*; @@ -49,18 +48,13 @@ pub fn get_simple_dataset(repeat: usize) -> SimpleStruct { const REPEAT: usize = 1000; fn bench_schema_new(b: &mut Criterion) { - let bytes = scrypto_encode(&get_simple_dataset(REPEAT)).unwrap(); + let payload = scrypto_encode_to_payload(&get_simple_dataset(REPEAT)).unwrap(); + let validation_context = (); let (type_id, schema) = generate_full_schema_from_single_type::(); b.bench_function("schema::validate_payload", |b| { b.iter(|| { - let result = validate_payload_against_schema::( - &bytes, - schema.v1(), - type_id, - &(), - SCRYPTO_SBOR_V1_MAX_DEPTH, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &validation_context); assert!(result.is_ok()) }) }); diff --git a/radix-common/src/data/manifest/custom_extension.rs b/radix-common/src/data/manifest/custom_extension.rs index b2324d77217..640a3da0595 100644 --- a/radix-common/src/data/manifest/custom_extension.rs +++ b/radix-common/src/data/manifest/custom_extension.rs @@ -5,6 +5,7 @@ pub enum ManifestCustomExtension {} impl CustomExtension for ManifestCustomExtension { const PAYLOAD_PREFIX: u8 = MANIFEST_SBOR_V1_PAYLOAD_PREFIX; + const DEFAULT_DEPTH_LIMIT: usize = MANIFEST_SBOR_V1_MAX_DEPTH; type CustomValueKind = ManifestCustomValueKind; type CustomTraversal = ManifestCustomTraversal; diff --git a/radix-common/src/data/manifest/custom_formatting.rs b/radix-common/src/data/manifest/custom_formatting.rs index fe44041f0a5..ca4667fa8ef 100644 --- a/radix-common/src/data/manifest/custom_formatting.rs +++ b/radix-common/src/data/manifest/custom_formatting.rs @@ -127,7 +127,7 @@ mod tests { let context = ManifestValueDisplayContext::with_optional_bech32(Some(&encoder)); - let payload = ManifestRawPayload::new_from_valid_owned(payload); + let payload = ManifestRawPayload::from_valid_payload(payload); let actual_rustlike = payload.to_string(ValueDisplayParameters::Schemaless { display_mode: DisplayMode::RustLike, diff --git a/radix-common/src/data/manifest/custom_serde.rs b/radix-common/src/data/manifest/custom_serde.rs index 8b269834e91..52c574a9f78 100644 --- a/radix-common/src/data/manifest/custom_serde.rs +++ b/radix-common/src/data/manifest/custom_serde.rs @@ -297,7 +297,7 @@ mod tests { let payload = manifest_encode(&value).unwrap(); assert_json_eq( - ManifestRawPayload::new_from_valid_slice(&payload).serializable( + ManifestRawPayload::from_valid_payload_slice(&payload).serializable( SerializationParameters::Schemaless { mode: SerializationMode::Natural, custom_context: context.into(), @@ -320,7 +320,7 @@ mod tests { let payload = manifest_encode(&value).unwrap(); assert_json_eq( - ManifestRawPayload::new_from_valid_slice(&payload).serializable( + ManifestRawPayload::from_valid_payload_slice(&payload).serializable( SerializationParameters::Schemaless { mode: SerializationMode::Programmatic, custom_context: context.into(), diff --git a/radix-common/src/data/manifest/custom_validation.rs b/radix-common/src/data/manifest/custom_validation.rs index 28c6e487561..df676e44af7 100644 --- a/radix-common/src/data/manifest/custom_validation.rs +++ b/radix-common/src/data/manifest/custom_validation.rs @@ -272,7 +272,7 @@ mod tests { #[test] fn valid_manifest_composite_value_passes_validation_against_radix_blueprint_schema_init() { - let payload = manifest_encode(&( + let payload = manifest_encode_to_payload(&( ManifestValue::Custom { value: ManifestCustomValue::Address(ManifestAddress::Static( XRD.as_node_id().clone(), @@ -312,20 +312,14 @@ mod tests { let (type_id, schema) = generate_full_schema_from_single_type::(); - let result = validate_payload_against_schema::( - &payload, - schema.v1(), - type_id, - &(), - MANIFEST_SBOR_V1_MAX_DEPTH, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &()); result.expect("Validation check failed"); } #[test] fn manifest_address_fails_validation_against_mismatching_radix_blueprint_schema_init() { - let payload = manifest_encode(&ManifestValue::Custom { + let payload = manifest_encode_to_payload(&ManifestValue::Custom { value: ManifestCustomValue::Address(ManifestAddress::Static(XRD.as_node_id().clone())), }) .unwrap(); @@ -339,7 +333,7 @@ mod tests { #[test] fn manifest_blob_fails_validation_against_mismatching_radix_blueprint_schema_init() { - let payload = manifest_encode(&ManifestValue::Custom { + let payload = manifest_encode_to_payload(&ManifestValue::Custom { value: ManifestCustomValue::Blob(ManifestBlobRef([0; 32])), }) .unwrap(); @@ -355,7 +349,7 @@ mod tests { #[test] fn manifest_entire_worktop_expression_fails_validation_against_mismatching_radix_blueprint_schema_init( ) { - let payload = manifest_encode(&ManifestValue::Custom { + let payload = manifest_encode_to_payload(&ManifestValue::Custom { value: ManifestCustomValue::Expression(ManifestExpression::EntireWorktop), }) .unwrap(); @@ -371,7 +365,7 @@ mod tests { #[test] fn manifest_entire_auth_zone_expression_fails_validation_against_mismatching_radix_blueprint_schema_init( ) { - let payload = manifest_encode(&ManifestValue::Custom { + let payload = manifest_encode_to_payload(&ManifestValue::Custom { value: ManifestCustomValue::Expression(ManifestExpression::EntireAuthZone), }) .unwrap(); @@ -384,30 +378,18 @@ mod tests { expect_does_not_match::(&payload); } - fn expect_matches(payload: &[u8]) { + fn expect_matches(payload: &ManifestOwnedRawPayload) { let (type_id, schema) = generate_full_schema_from_single_type::(); - let result = validate_payload_against_schema::( - &payload, - schema.v1(), - type_id, - &(), - MANIFEST_SBOR_V1_MAX_DEPTH, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &()); result.expect("Expected validation to succeed"); } - fn expect_does_not_match(payload: &[u8]) { + fn expect_does_not_match(payload: &ManifestOwnedRawPayload) { let (type_id, schema) = generate_full_schema_from_single_type::(); - let result = validate_payload_against_schema::( - &payload, - schema.v1(), - type_id, - &(), - MANIFEST_SBOR_V1_MAX_DEPTH, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &()); matches!( result, diff --git a/radix-common/src/data/manifest/definitions.rs b/radix-common/src/data/manifest/definitions.rs index cc21960c8f4..0eb20e5460d 100644 --- a/radix-common/src/data/manifest/definitions.rs +++ b/radix-common/src/data/manifest/definitions.rs @@ -89,6 +89,22 @@ pub fn manifest_encode(value: &T) -> Result, manifest_encode_with_depth_limit(value, MANIFEST_SBOR_V1_MAX_DEPTH) } +pub fn manifest_encode_to_payload( + value: &T, +) -> Result { + Ok(ManifestOwnedRawPayload::from_valid_payload( + manifest_encode(value)?, + )) +} + +pub fn manifest_encode_to_value( + value: &T, +) -> Result { + Ok(ManifestOwnedRawValue::from_valid_payload(manifest_encode( + value, + )?)) +} + pub fn manifest_encode_with_depth_limit( value: &T, depth_limit: usize, diff --git a/radix-common/src/data/scrypto/custom_extension.rs b/radix-common/src/data/scrypto/custom_extension.rs index 97374552508..b4044c05654 100644 --- a/radix-common/src/data/scrypto/custom_extension.rs +++ b/radix-common/src/data/scrypto/custom_extension.rs @@ -5,6 +5,7 @@ pub struct ScryptoCustomExtension {} impl CustomExtension for ScryptoCustomExtension { const PAYLOAD_PREFIX: u8 = SCRYPTO_SBOR_V1_PAYLOAD_PREFIX; + const DEFAULT_DEPTH_LIMIT: usize = SCRYPTO_SBOR_V1_MAX_DEPTH; type CustomValueKind = ScryptoCustomValueKind; type CustomTraversal = ScryptoCustomTraversal; diff --git a/radix-common/src/data/scrypto/custom_formatting.rs b/radix-common/src/data/scrypto/custom_formatting.rs index f3ef266f5da..49e5ef838d6 100644 --- a/radix-common/src/data/scrypto/custom_formatting.rs +++ b/radix-common/src/data/scrypto/custom_formatting.rs @@ -117,7 +117,7 @@ mod tests { let context = ScryptoValueDisplayContext::with_optional_bech32(Some(&encoder)); - let payload = ScryptoRawPayload::new_from_valid_owned(scrypto_encode(&value).unwrap()); + let payload = ScryptoRawPayload::from_valid_payload(scrypto_encode(&value).unwrap()); let actual_rustlike = payload.to_string(ValueDisplayParameters::Schemaless { display_mode: DisplayMode::RustLike, diff --git a/radix-common/src/data/scrypto/custom_payload_wrappers.rs b/radix-common/src/data/scrypto/custom_payload_wrappers.rs index 9fb62266cff..1e98cb3ca92 100644 --- a/radix-common/src/data/scrypto/custom_payload_wrappers.rs +++ b/radix-common/src/data/scrypto/custom_payload_wrappers.rs @@ -1,6 +1,10 @@ use crate::internal_prelude::*; pub type ScryptoRawPayload<'a> = RawPayload<'a, ScryptoCustomExtension>; +pub type ScryptoUnvalidatedRawPayload<'a> = UnvalidatedRawPayload<'a, ScryptoCustomExtension>; pub type ScryptoOwnedRawPayload = RawPayload<'static, ScryptoCustomExtension>; +pub type ScryptoUnvalidatedOwnedRawPayload = UnvalidatedRawPayload<'static, ScryptoCustomExtension>; pub type ScryptoRawValue<'a> = RawValue<'a, ScryptoCustomExtension>; +pub type ScryptoUnvalidatedRawValue<'a> = UnvalidatedRawValue<'a, ScryptoCustomExtension>; pub type ScryptoOwnedRawValue = RawValue<'static, ScryptoCustomExtension>; +pub type ScryptoUnvalidatedOwnedRawValue = UnvalidatedRawValue<'static, ScryptoCustomExtension>; diff --git a/radix-common/src/data/scrypto/custom_serde.rs b/radix-common/src/data/scrypto/custom_serde.rs index ca43ad66e86..7f753a143b2 100644 --- a/radix-common/src/data/scrypto/custom_serde.rs +++ b/radix-common/src/data/scrypto/custom_serde.rs @@ -248,7 +248,7 @@ mod tests { let payload = scrypto_encode(&value).unwrap(); assert_json_eq( - ScryptoRawPayload::new_from_valid_slice(&payload).serializable( + ScryptoRawPayload::from_valid_payload_slice(&payload).serializable( SerializationParameters::Schemaless { mode: SerializationMode::Natural, custom_context: context.into(), @@ -271,7 +271,7 @@ mod tests { let payload = scrypto_encode(&value).unwrap(); assert_json_eq( - ScryptoRawPayload::new_from_valid_slice(&payload).serializable( + ScryptoRawPayload::from_valid_payload_slice(&payload).serializable( SerializationParameters::Schemaless { mode: SerializationMode::Programmatic, custom_context: context.into(), diff --git a/radix-common/src/data/scrypto/custom_well_known_types.rs b/radix-common/src/data/scrypto/custom_well_known_types.rs index ca7928353e0..e0b8b6840f5 100644 --- a/radix-common/src/data/scrypto/custom_well_known_types.rs +++ b/radix-common/src/data/scrypto/custom_well_known_types.rs @@ -648,16 +648,14 @@ mod tests { fn test_statically_valid(id: WellKnownTypeId, value: T) { let type_name = core::any::type_name::(); - validate_payload_against_schema::( - &scrypto_encode(&value).unwrap(), - &ScryptoCustomSchema::empty_schema(), - id.into(), - &(), - 10, - ) - .unwrap_or_else(|err| { - panic!("Expected value for {type_name} to match well known type but got: {err:?}") - }); + let schema = ScryptoCustomSchema::empty_schema(); + let context = (); + scrypto_encode_to_payload(&value) + .unwrap() + .validate_against_type(&schema, id.into(), &context) + .unwrap_or_else(|err| { + panic!("Expected value for {type_name} to match well known type but got: {err:?}") + }); } fn test_type_data_equivalent(id: WellKnownTypeId) { diff --git a/radix-common/src/data/scrypto/definitions.rs b/radix-common/src/data/scrypto/definitions.rs index 547e56da14b..a3df42699c4 100644 --- a/radix-common/src/data/scrypto/definitions.rs +++ b/radix-common/src/data/scrypto/definitions.rs @@ -8,8 +8,8 @@ pub type ScryptoDecoder<'a> = VecDecoder<'a, ScryptoCustomValueKind>; pub type ScryptoTraverser<'a> = VecTraverser<'a, ScryptoCustomTraversal>; pub type ScryptoValueKind = ValueKind; pub type ScryptoValue = Value; -pub type RawScryptoValue<'a> = RawValue<'a, ScryptoCustomExtension>; -pub type RawScryptoPayload<'a> = RawPayload<'a, ScryptoCustomExtension>; +// NOTE: ScryptoRawValue, ScryptoOwnedRawValue, ScryptoRawPayload, ScryptoOwnedRawPayload +// are defined in another file // The following trait "aliases" are to be used in parameters. // @@ -48,6 +48,22 @@ pub fn scrypto_encode(value: &T) -> Result, E scrypto_encode_with_depth_limit(value, SCRYPTO_SBOR_V1_MAX_DEPTH) } +pub fn scrypto_encode_to_payload( + value: &T, +) -> Result { + Ok(ScryptoOwnedRawPayload::from_valid_payload(scrypto_encode( + value, + )?)) +} + +pub fn scrypto_encode_to_value( + value: &T, +) -> Result { + Ok(ScryptoOwnedRawValue::from_valid_payload(scrypto_encode( + value, + )?)) +} + pub fn scrypto_encode_with_depth_limit( value: &T, depth_limit: usize, diff --git a/radix-common/src/data/scrypto/model/non_fungible_local_id.rs b/radix-common/src/data/scrypto/model/non_fungible_local_id.rs index 38f53f3ca83..7d64405f0c7 100644 --- a/radix-common/src/data/scrypto/model/non_fungible_local_id.rs +++ b/radix-common/src/data/scrypto/model/non_fungible_local_id.rs @@ -112,10 +112,6 @@ impl NonFungibleLocalId { pub const fn ruid(value: [u8; 32]) -> Self { Self::RUID(RUIDNonFungibleLocalId(value)) } - - pub fn to_key(&self) -> Vec { - scrypto_encode(self).expect("Failed to encode non-fungible local id") - } } /// The implementation of const constructors for the non-fungible local id. diff --git a/radix-common/src/math/decimal.rs b/radix-common/src/math/decimal.rs index 28b2c1fef6f..837da6ed453 100644 --- a/radix-common/src/math/decimal.rs +++ b/radix-common/src/math/decimal.rs @@ -28,8 +28,8 @@ use super::CheckedTruncate; /// The finite set of values are of the form `m / 10^18`, where `m` is /// an integer such that `-2^(192 - 1) <= m < 2^(192 - 1)`. /// -/// Fractional part: ~60 bits/18 digits -/// Integer part : 132 bits /40 digits +/// Fractional part: ~60 bits / 18 digits +/// Integer part : ~132 bits / ~40 digits /// Max : 3138550867693340381917894711603833208051.177722232017256447 /// Min : -3138550867693340381917894711603833208051.177722232017256448 /// diff --git a/radix-common/src/types/node_and_substate.rs b/radix-common/src/types/node_and_substate.rs index 5434a263ffc..165d103037f 100644 --- a/radix-common/src/types/node_and_substate.rs +++ b/radix-common/src/types/node_and_substate.rs @@ -1,11 +1,9 @@ use crate::address::{AddressBech32EncodeError, AddressDisplayContext}; -use crate::data::scrypto::model::*; +use crate::internal_prelude::*; use crate::types::*; use crate::*; #[cfg(feature = "fuzzing")] use arbitrary::Arbitrary; -use radix_rust::ContextualDisplay; -use sbor::rust::prelude::*; //========================================================================= // Please update REP-60 after updating types/configs defined in this file! @@ -239,13 +237,27 @@ impl PartitionNumber { pub struct PartitionOffset(pub u8); /// The unique identifier of a substate within a node module. -#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Sbor)] +#[derive(Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Sbor)] pub enum SubstateKey { Field(FieldKey), Map(MapKey), Sorted(SortedKey), } +// Keep SubstateKey like the Babylon format to avoid execution traces changing +impl Debug for SubstateKey { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Self::Field(x) => f.debug_tuple("Field").field(x).finish(), + Self::Map(x) => f.debug_tuple("Map").field(&x.as_slice()).finish(), + Self::Sorted(x) => { + let content = (x.0, x.1.as_slice()); + f.debug_tuple("Sorted").field(&content).finish() + } + } + } +} + impl SubstateKey { pub fn for_field(&self) -> Option<&FieldKey> { match self { @@ -277,5 +289,8 @@ impl SubstateKey { } pub type FieldKey = u8; -pub type MapKey = Vec; -pub type SortedKey = ([u8; 2], Vec); +pub type MapKey = ScryptoOwnedRawPayload; +pub type SortedKey = ([u8; 2], ScryptoOwnedRawPayload); + +pub type UnvalidatedMapKey<'a> = ScryptoUnvalidatedRawPayload<'a>; +pub type UnvalidatedSortedKey<'a> = ([u8; 2], ScryptoUnvalidatedRawPayload<'a>); diff --git a/radix-engine-interface/src/api/actor_api.rs b/radix-engine-interface/src/api/actor_api.rs index 510819419a1..d4eae169da4 100644 --- a/radix-engine-interface/src/api/actor_api.rs +++ b/radix-engine-interface/src/api/actor_api.rs @@ -4,9 +4,6 @@ use crate::internal_prelude::*; use crate::types::*; use bitflags::bitflags; use radix_engine_interface::api::{ActorStateHandle, LockFlags}; -use sbor::rust::fmt::Debug; -use sbor::rust::string::String; -use sbor::rust::vec::Vec; bitflags! { #[derive(Sbor)] @@ -43,7 +40,7 @@ pub trait SystemActorApi { fn actor_emit_event( &mut self, event_name: String, - event_data: Vec, + event_data: ScryptoUnvalidatedRawPayload, event_flags: EventFlags, ) -> Result<(), E>; } diff --git a/radix-engine-interface/src/api/actor_index_api.rs b/radix-engine-interface/src/api/actor_index_api.rs index 53101236465..a3061f5c0d3 100644 --- a/radix-engine-interface/src/api/actor_index_api.rs +++ b/radix-engine-interface/src/api/actor_index_api.rs @@ -1,8 +1,6 @@ use crate::api::ActorStateHandle; -use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; +use radix_common::prelude::*; use radix_engine_interface::api::CollectionIndex; -use sbor::rust::prelude::*; -use sbor::rust::vec::Vec; /// Api to manage an iterable index pub trait SystemActorIndexApi { @@ -11,8 +9,8 @@ pub trait SystemActorIndexApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - buffer: Vec, + key: ScryptoUnvalidatedRawValue, + buffer: ScryptoUnvalidatedRawValue, ) -> Result<(), E>; /// Inserts an entry into an index @@ -26,8 +24,8 @@ pub trait SystemActorIndexApi { self.actor_index_insert( object_handle, collection_index, - scrypto_encode(&key).unwrap(), - scrypto_encode(&value).unwrap(), + scrypto_encode_to_value(&key).unwrap().into_unvalidated(), + scrypto_encode_to_value(&value).unwrap().into_unvalidated(), ) } @@ -36,19 +34,19 @@ pub trait SystemActorIndexApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - ) -> Result>, E>; + key: ScryptoUnvalidatedRawValue, + ) -> Result, E>; /// Removes an entry from an index fn actor_index_remove_typed( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, + key: ScryptoUnvalidatedRawValue, ) -> Result, E> { let rtn = self .actor_index_remove(object_handle, collection_index, key)? - .map(|e| scrypto_decode(&e).unwrap()); + .map(|e| e.decode_as().unwrap()); Ok(rtn) } @@ -58,7 +56,7 @@ pub trait SystemActorIndexApi { object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result>, E>; + ) -> Result, E>; /// Scans arbitrary elements of count from an index fn actor_index_scan_keys_typed( @@ -70,10 +68,7 @@ pub trait SystemActorIndexApi { let entries = self .actor_index_scan_keys(object_handle, collection_index, limit)? .into_iter() - .map(|key| { - let key: K = scrypto_decode(&key).unwrap(); - key - }) + .map(|key| key.decode_as().unwrap()) .collect(); Ok(entries) @@ -85,7 +80,7 @@ pub trait SystemActorIndexApi { object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result, Vec)>, E>; + ) -> Result, E>; /// Removes and returns arbitrary elements of count from an index fn actor_index_drain_typed( @@ -97,11 +92,7 @@ pub trait SystemActorIndexApi { let entries = self .actor_index_drain(object_handle, collection_index, limit)? .into_iter() - .map(|(key, value)| { - let key: K = scrypto_decode(&key).unwrap(); - let value: V = scrypto_decode(&value).unwrap(); - (key, value) - }) + .map(|(key, value)| (key.decode_as().unwrap(), value.decode_as().unwrap())) .collect(); Ok(entries) diff --git a/radix-engine-interface/src/api/actor_key_value_entry_api.rs b/radix-engine-interface/src/api/actor_key_value_entry_api.rs index 281b604300e..f29ede7b3cb 100644 --- a/radix-engine-interface/src/api/actor_key_value_entry_api.rs +++ b/radix-engine-interface/src/api/actor_key_value_entry_api.rs @@ -1,8 +1,6 @@ -use radix_common::data::scrypto::{scrypto_decode, ScryptoDecode}; +use radix_common::prelude::*; use radix_engine_interface::api::key_value_entry_api::KeyValueEntryHandle; use radix_engine_interface::api::{ActorStateHandle, CollectionIndex, LockFlags}; -use sbor::rust::fmt::Debug; -use sbor::rust::vec::Vec; pub trait SystemActorKeyValueEntryApi { /// Returns a handle for a specified key value entry in a collection. If an invalid collection @@ -11,29 +9,56 @@ pub trait SystemActorKeyValueEntryApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result; + /// Returns a handle for a specified key value entry in a collection. If an invalid collection + /// index or key is passed an error is returned. + fn actor_open_key_value_entry_typed( + &mut self, + object_handle: ActorStateHandle, + collection_index: CollectionIndex, + key: &T, + flags: LockFlags, + ) -> Result { + let key = scrypto_encode_to_value(&key).unwrap().into_unvalidated(); + self.actor_open_key_value_entry(object_handle, collection_index, key, flags) + } + /// Removes an entry from a collection. If an invalid collection index or key is passed an /// error is returned, otherwise the encoding of a value of the entry is returned. fn actor_remove_key_value_entry( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, - ) -> Result, E>; + key: ScryptoUnvalidatedRawValue, + ) -> Result, E>; /// Removes an entry from a collection. If an invalid collection index or key is passed an /// error is returned, otherwise the value of the entry is returned. - fn actor_remove_key_value_entry_typed( + fn actor_remove_key_value_entry_typed( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, + key: &T, ) -> Result, E> { + let key = scrypto_encode_to_value(&key).unwrap().into_unvalidated(); let removed = self.actor_remove_key_value_entry(object_handle, collection_index, key)?; - let rtn = scrypto_decode(&removed).unwrap(); + let rtn = removed.map(|value| value.decode_as().unwrap()); Ok(rtn) } + + /// Removes an entry from a collection. If an invalid collection index or key is passed an + /// error is returned, otherwise an option is returned marking if the entry existed. + fn actor_remove_key_value_entry_typed_ignore_return( + &mut self, + object_handle: ActorStateHandle, + collection_index: CollectionIndex, + key: &T, + ) -> Result, E> { + let key = scrypto_encode_to_value(&key).unwrap().into_unvalidated(); + let removed = self.actor_remove_key_value_entry(object_handle, collection_index, key)?; + Ok(removed.map(|_| ())) + } } diff --git a/radix-engine-interface/src/api/actor_sorted_index_api.rs b/radix-engine-interface/src/api/actor_sorted_index_api.rs index ccefd01a2b2..6ccc7681d8e 100644 --- a/radix-engine-interface/src/api/actor_sorted_index_api.rs +++ b/radix-engine-interface/src/api/actor_sorted_index_api.rs @@ -1,9 +1,6 @@ use crate::api::ActorStateHandle; -use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; -use radix_common::types::SortedKey; +use radix_common::prelude::*; use radix_engine_interface::api::CollectionIndex; -use sbor::rust::prelude::*; -use sbor::rust::vec::Vec; pub trait SystemActorSortedIndexApi { /// Inserts an entry into a sorted index @@ -11,8 +8,8 @@ pub trait SystemActorSortedIndexApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: SortedKey, - buffer: Vec, + sorted_key: UnvalidatedSortedKey, + value: ScryptoUnvalidatedRawValue, ) -> Result<(), E>; /// Inserts an entry into a sorted index @@ -20,14 +17,14 @@ pub trait SystemActorSortedIndexApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: SortedKey, + sorted_key: UnvalidatedSortedKey, value: V, ) -> Result<(), E> { self.actor_sorted_index_insert( object_handle, collection_index, sorted_key, - scrypto_encode(&value).unwrap(), + scrypto_encode_to_value(&value).unwrap().into_unvalidated(), ) } @@ -36,19 +33,19 @@ pub trait SystemActorSortedIndexApi { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: &SortedKey, - ) -> Result>, E>; + sorted_key: UnvalidatedSortedKey, + ) -> Result, E>; /// Removes an entry from a sorted index fn actor_sorted_index_remove_typed( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: &SortedKey, + sorted_key: UnvalidatedSortedKey, ) -> Result, E> { let rtn = self .actor_sorted_index_remove(object_handle, collection_index, sorted_key)? - .map(|e| scrypto_decode(&e).unwrap()); + .map(|e| e.decode_as().unwrap()); Ok(rtn) } @@ -58,7 +55,7 @@ pub trait SystemActorSortedIndexApi { object_handle: ActorStateHandle, collection_index: CollectionIndex, count: u32, - ) -> Result)>, E>; + ) -> Result, E>; /// Scans the first elements of count from a sorted index fn actor_sorted_index_scan_typed( @@ -66,14 +63,15 @@ pub trait SystemActorSortedIndexApi { object_handle: ActorStateHandle, collection_index: CollectionIndex, count: u32, - ) -> Result, E> { + ) -> Result, E> { let entries = self .actor_sorted_index_scan(object_handle, collection_index, count)? .into_iter() - .map(|(key, buf)| { - let typed_key: K = scrypto_decode(&key.1).unwrap(); - let typed_value: V = scrypto_decode(&buf).unwrap(); - (typed_key, typed_value) + .map(|(key, value)| { + ( + (key.0, key.1.decode_as().unwrap()), + value.decode_as().unwrap(), + ) }) .collect(); diff --git a/radix-engine-interface/src/api/field_api.rs b/radix-engine-interface/src/api/field_api.rs index 7295a2b7186..9820a10d859 100644 --- a/radix-engine-interface/src/api/field_api.rs +++ b/radix-engine-interface/src/api/field_api.rs @@ -1,7 +1,6 @@ use bitflags::bitflags; -use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; +use radix_common::data::scrypto::*; use sbor::rust::fmt::Debug; -use sbor::rust::vec::Vec; use sbor::*; bitflags! { @@ -34,17 +33,20 @@ impl FieldPayloadMarker for &T {} /// System api to read/write fields pub trait SystemFieldApi { /// Retrieve the value of a field - fn field_read(&mut self, handle: FieldHandle) -> Result, E>; + fn field_read(&mut self, handle: FieldHandle) -> Result; /// Retrieve the value of a field fn field_read_typed(&mut self, handle: FieldHandle) -> Result { - let buf = self.field_read(handle)?; - let typed_substate: S = scrypto_decode(&buf).map_err(|e| e).unwrap(); - Ok(typed_substate) + let value = self.field_read(handle)?; + Ok(value.decode_as().unwrap()) } /// Write a value to a field - fn field_write(&mut self, handle: FieldHandle, buffer: Vec) -> Result<(), E>; + fn field_write( + &mut self, + handle: FieldHandle, + buffer: ScryptoUnvalidatedRawValue, + ) -> Result<(), E>; /// Write a value to a field fn field_write_typed( @@ -52,8 +54,8 @@ pub trait SystemFieldApi { handle: FieldHandle, substate: &S, ) -> Result<(), E> { - let buf = scrypto_encode(substate).unwrap(); - self.field_write(handle, buf) + let value = scrypto_encode_to_value(substate).unwrap(); + self.field_write(handle, value.as_unvalidated()) } /// Lock a field such that it becomes immutable diff --git a/radix-engine-interface/src/api/key_value_entry_api.rs b/radix-engine-interface/src/api/key_value_entry_api.rs index 2a505ec8776..af624fac580 100644 --- a/radix-engine-interface/src/api/key_value_entry_api.rs +++ b/radix-engine-interface/src/api/key_value_entry_api.rs @@ -1,11 +1,13 @@ -use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; -use sbor::rust::prelude::*; +use radix_common::prelude::*; pub type KeyValueEntryHandle = u32; pub trait SystemKeyValueEntryApi { /// Reads the value of a key value entry - fn key_value_entry_get(&mut self, handle: KeyValueEntryHandle) -> Result, E>; + fn key_value_entry_get( + &mut self, + handle: KeyValueEntryHandle, + ) -> Result, E>; /// Reads the value of a key value entry and decodes it into a specific type fn key_value_entry_get_typed( @@ -13,7 +15,7 @@ pub trait SystemKeyValueEntryApi { handle: KeyValueEntryHandle, ) -> Result, E> { let buffer = self.key_value_entry_get(handle)?; - let value: Option = scrypto_decode(&buffer).unwrap(); + let value: Option = buffer.map(|value| value.decode_as().unwrap()); Ok(value) } @@ -21,7 +23,7 @@ pub trait SystemKeyValueEntryApi { fn key_value_entry_set( &mut self, handle: KeyValueEntryHandle, - buffer: Vec, + buffer: ScryptoUnvalidatedRawValue, ) -> Result<(), E>; /// Set the value of a key value entry @@ -30,12 +32,15 @@ pub trait SystemKeyValueEntryApi { handle: KeyValueEntryHandle, value: S, ) -> Result<(), E> { - let buffer = scrypto_encode(&value).unwrap(); - self.key_value_entry_set(handle, buffer) + let buffer = scrypto_encode_to_value(&value).unwrap(); + self.key_value_entry_set(handle, buffer.into_unvalidated()) } /// Remove the value of a key value entry - fn key_value_entry_remove(&mut self, handle: KeyValueEntryHandle) -> Result, E>; + fn key_value_entry_remove( + &mut self, + handle: KeyValueEntryHandle, + ) -> Result, E>; /// Lock the value of a key value entry making the value immutable fn key_value_entry_lock(&mut self, handle: KeyValueEntryHandle) -> Result<(), E>; diff --git a/radix-engine-interface/src/api/key_value_store_api.rs b/radix-engine-interface/src/api/key_value_store_api.rs index 0af654b09f8..2e09d988ad3 100644 --- a/radix-engine-interface/src/api/key_value_store_api.rs +++ b/radix-engine-interface/src/api/key_value_store_api.rs @@ -1,11 +1,6 @@ -use radix_common::prelude::{ - replace_self_package_address, ScryptoCustomTypeKind, ScryptoDescribe, VersionedScryptoSchema, -}; -use radix_common::types::*; -use radix_common::{ManifestSbor, ScryptoSbor}; +use radix_common::prelude::*; use radix_engine_interface::api::key_value_entry_api::KeyValueEntryHandle; use radix_engine_interface::api::LockFlags; -use sbor::rust::prelude::*; use sbor::LocalTypeId; use sbor::{generate_full_schema, TypeAggregator}; @@ -145,14 +140,35 @@ pub trait SystemKeyValueStoreApi { fn key_value_store_open_entry( &mut self, node_id: &NodeId, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result; + /// Open a key value store entry for reading/writing + fn key_value_store_open_entry_typed( + &mut self, + node_id: &NodeId, + key: &T, + flags: LockFlags, + ) -> Result { + let key = scrypto_encode_to_value(&key).unwrap().into_unvalidated(); + self.key_value_store_open_entry(node_id, key, flags) + } + /// Removes an entry from a key value store fn key_value_store_remove_entry( &mut self, node_id: &NodeId, - key: &Vec, - ) -> Result, E>; + key: ScryptoUnvalidatedRawValue, + ) -> Result, E>; + + /// Removes an entry from a key value store + fn key_value_store_remove_entry_typed( + &mut self, + node_id: &NodeId, + key: &T, + ) -> Result, E> { + let key = scrypto_encode_to_value(&key).unwrap().into_unvalidated(); + self.key_value_store_remove_entry(node_id, key) + } } diff --git a/radix-engine-interface/src/api/object_api.rs b/radix-engine-interface/src/api/object_api.rs index 69d68d71024..669ce6834fe 100644 --- a/radix-engine-interface/src/api/object_api.rs +++ b/radix-engine-interface/src/api/object_api.rs @@ -275,7 +275,7 @@ pub trait SystemObjectApi { inner_object_blueprint: &str, inner_object_fields: IndexMap, event_name: &str, - event_data: Vec, + event_data: ScryptoUnvalidatedOwnedRawPayload, ) -> Result<(GlobalAddress, NodeId), E>; /// Calls a method on an object diff --git a/radix-engine-interface/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs b/radix-engine-interface/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs index 3cb9775bd7f..3554004dfbf 100644 --- a/radix-engine-interface/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs +++ b/radix-engine-interface/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs @@ -115,7 +115,7 @@ pub struct NonFungibleResourceManagerCreateWithInitialSupplyInput { pub id_type: NonFungibleIdType, pub track_total_supply: bool, pub non_fungible_schema: NonFungibleDataSchema, - pub entries: IndexMap, + pub entries: IndexMap, pub resource_roles: NonFungibleResourceRoles, pub metadata: ModuleConfig, pub address_reservation: Option, @@ -159,7 +159,7 @@ pub struct NonFungibleResourceManagerCreateRuidWithInitialSupplyInput { pub owner_role: OwnerRole, pub track_total_supply: bool, pub non_fungible_schema: NonFungibleDataSchema, - pub entries: Vec<(ScryptoValue,)>, + pub entries: Vec<(ScryptoOwnedRawValue,)>, pub resource_roles: NonFungibleResourceRoles, pub metadata: ModuleConfig, pub address_reservation: Option, @@ -199,6 +199,8 @@ pub const NON_FUNGIBLE_RESOURCE_MANAGER_UPDATE_DATA_IDENT: &str = "update_non_fu pub struct NonFungibleResourceManagerUpdateDataInput { pub id: NonFungibleLocalId, pub field_name: String, + // Still a ScryptoValue because of how the update is done. + // We could consider optimizing this in future. pub data: ScryptoValue, } @@ -243,7 +245,7 @@ pub const NON_FUNGIBLE_RESOURCE_MANAGER_MINT_IDENT: &str = "mint"; #[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor)] pub struct NonFungibleResourceManagerMintInput { - pub entries: IndexMap, + pub entries: IndexMap, } /// For manifest @@ -265,7 +267,7 @@ pub const NON_FUNGIBLE_RESOURCE_MANAGER_MINT_RUID_IDENT: &str = "mint_ruid"; #[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor)] pub struct NonFungibleResourceManagerMintRuidInput { - pub entries: Vec<(ScryptoValue,)>, + pub entries: Vec<(ScryptoOwnedRawValue,)>, } /// For manifest @@ -287,7 +289,7 @@ pub const NON_FUNGIBLE_RESOURCE_MANAGER_MINT_SINGLE_RUID_IDENT: &str = "mint_sin #[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor)] pub struct NonFungibleResourceManagerMintSingleRuidInput { - pub entry: ScryptoValue, + pub entry: ScryptoOwnedRawValue, } /// For typed value, to skip any codec diff --git a/radix-engine-interface/src/types/indexed_value.rs b/radix-engine-interface/src/types/indexed_value.rs index a2b20f854ec..14726552769 100644 --- a/radix-engine-interface/src/types/indexed_value.rs +++ b/radix-engine-interface/src/types/indexed_value.rs @@ -1,30 +1,50 @@ -use core::cell::RefCell; use radix_common::data::scrypto::*; use radix_common::types::*; use radix_rust::ContextualDisplay; use sbor::representations::*; -use sbor::rust::cell::Ref; use sbor::rust::fmt; use sbor::rust::prelude::*; use sbor::traversal::*; use sbor::*; #[derive(Clone, PartialEq, Eq)] -pub struct IndexedScryptoValue { - bytes: Vec, +pub struct IndexedScryptoValue<'v> { + value: ScryptoRawValue<'v>, references: Vec, owned_nodes: Vec, - scrypto_value: RefCell>, } -impl IndexedScryptoValue { - fn new(bytes: Vec) -> Result { - let mut traverser = ScryptoTraverser::new( - &bytes, - SCRYPTO_SBOR_V1_MAX_DEPTH, - ExpectedStart::PayloadPrefix(SCRYPTO_SBOR_V1_PAYLOAD_PREFIX), - true, - ); +pub type IndexedOwnedScryptoValue = IndexedScryptoValue<'static>; + +impl<'v> IndexedScryptoValue<'v> { + fn new_from_unvalidated( + scrypto_value: ScryptoUnvalidatedRawValue<'v>, + ) -> Result { + let (references, owned_nodes) = Self::validate_and_extract_references_and_owned_nodes( + scrypto_value.traverser(0, SCRYPTO_SBOR_V1_MAX_DEPTH), + )?; + let scrypto_value = scrypto_value.confirm_validated(); + Ok(Self { + value: scrypto_value, + references, + owned_nodes, + }) + } + + fn new(scrypto_value: ScryptoRawValue<'v>) -> Result { + let (references, owned_nodes) = Self::validate_and_extract_references_and_owned_nodes( + scrypto_value.traverser(0, SCRYPTO_SBOR_V1_MAX_DEPTH), + )?; + Ok(Self { + value: scrypto_value, + references, + owned_nodes, + }) + } + + fn validate_and_extract_references_and_owned_nodes( + mut traverser: VecTraverser, + ) -> Result<(Vec, Vec), DecodeError> { let mut references = Vec::::new(); let mut owned_nodes = Vec::::new(); loop { @@ -56,72 +76,72 @@ impl IndexedScryptoValue { } } } - - Ok(Self { - bytes, - references, - owned_nodes, - scrypto_value: RefCell::new(None), - }) + Ok((references, owned_nodes)) } - fn get_scrypto_value(&self) -> Ref { - let is_empty = { self.scrypto_value.borrow().is_none() }; + pub fn ref_into_owned(&self) -> IndexedOwnedScryptoValue { + IndexedOwnedScryptoValue { + value: self.value.ref_into_owned(), + references: self.references.clone(), + owned_nodes: self.owned_nodes.clone(), + } + } - if is_empty { - *self.scrypto_value.borrow_mut() = Some( - scrypto_decode::(&self.bytes) - .expect("Failed to decode bytes in IndexedScryptoValue"), - ); + pub fn into_owned(self) -> IndexedOwnedScryptoValue { + IndexedOwnedScryptoValue { + value: self.value.into_owned(), + references: self.references, + owned_nodes: self.owned_nodes, } + } - Ref::map(self.scrypto_value.borrow(), |v| v.as_ref().unwrap()) + pub fn value(&self) -> &ScryptoRawValue<'v> { + &self.value } - pub fn unit() -> Self { - Self::from_typed(&()) + pub fn as_value(&self) -> ScryptoRawValue { + self.value.as_value_ref() } - pub fn from_typed(value: &T) -> Self { - let bytes = scrypto_encode(value).expect("Failed to encode trusted Rust value"); - Self::new(bytes).expect("Failed to index trusted Rust value") + pub fn as_unvalidated(&self) -> ScryptoUnvalidatedRawValue { + self.value.as_unvalidated() } - pub fn from_scrypto_value(value: ScryptoValue) -> Self { - let bytes = scrypto_encode(&value).expect("Failed to encode trusted ScryptoValue"); - Self::new(bytes).expect("Failed to index trusted ScryptoValue") + pub fn as_payload(&self) -> ScryptoRawPayload { + self.value.as_payload() } - pub fn from_slice(slice: &[u8]) -> Result { - Self::new(slice.to_vec()) + pub fn unit() -> Self { + Self::from_typed(&()) } - pub fn from_vec(vec: Vec) -> Result { - Self::new(vec) + pub fn from_typed(value: &T) -> Self { + let value = scrypto_encode_to_value(value).expect("Failed to encode trusted Rust value"); + Self::new(value).expect("Failed to index trusted Rust value") } - pub fn to_scrypto_value(&self) -> ScryptoValue { - self.get_scrypto_value().clone() + pub fn from_value(value: ScryptoRawValue<'v>) -> Self { + Self::new(value).expect("Failed to index trusted ScryptoRawValue") } - pub fn as_scrypto_value(&self) -> Ref { - self.get_scrypto_value() + pub fn from_payload(payload: ScryptoRawPayload<'v>) -> Self { + Self::new(payload.into_value()).expect("Failed to index trusted ScryptoRawPayload") } - pub fn as_typed(&self) -> Result { - scrypto_decode(&self.bytes) + pub fn from_untrusted_payload_slice(slice: &'v [u8]) -> Result { + Self::new_from_unvalidated(ScryptoUnvalidatedRawValue::from_payload_slice(slice)) } - pub fn as_slice(&self) -> &[u8] { - self.bytes.as_slice() + pub fn from_untrusted_payload_vec(vec: Vec) -> Result { + Self::new_from_unvalidated(ScryptoUnvalidatedOwnedRawValue::from_payload(vec)) } - pub fn as_vec_ref(&self) -> &Vec { - &self.bytes + pub fn into_typed(&self) -> Result { + self.value().decode_as() } - pub fn len(&self) -> usize { - self.bytes.len() + pub fn payload_len(&self) -> usize { + self.value.payload_len() } pub fn references(&self) -> &Vec { @@ -132,18 +152,24 @@ impl IndexedScryptoValue { &self.owned_nodes } - pub fn unpack(self) -> (Vec, Vec, Vec) { - (self.bytes, self.owned_nodes, self.references) + pub fn into_value(self) -> ScryptoRawValue<'v> { + self.value + } + + pub fn into_payload(self) -> ScryptoRawPayload<'v> { + self.value.into_payload() + } + + pub fn into_payload_bytes(self) -> Vec { + self.into_payload().into_bytes() } -} -impl Into> for IndexedScryptoValue { - fn into(self) -> Vec { - self.bytes + pub fn unpack(self) -> (ScryptoRawValue<'v>, Vec, Vec) { + (self.value, self.owned_nodes, self.references) } } -impl fmt::Debug for IndexedScryptoValue { +impl<'a> fmt::Debug for IndexedScryptoValue<'a> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, @@ -158,8 +184,8 @@ impl fmt::Debug for IndexedScryptoValue { } } -impl<'s, 'a> ContextualDisplay> - for IndexedScryptoValue +impl<'s, 'a, 'b> ContextualDisplay> + for IndexedScryptoValue<'b> { type Error = sbor::representations::FormattingError; @@ -168,6 +194,6 @@ impl<'s, 'a> ContextualDisplay, ) -> Result<(), Self::Error> { - ScryptoRawPayload::new_from_valid_slice(self.as_slice()).format(f, *context) + self.value().format(f, *context) } } diff --git a/radix-engine-interface/tests/well_known_types.rs b/radix-engine-interface/tests/well_known_types.rs index 1c3120d7b4c..658e6e51342 100644 --- a/radix-engine-interface/tests/well_known_types.rs +++ b/radix-engine-interface/tests/well_known_types.rs @@ -2,7 +2,6 @@ mod tests { use radix_common::prelude::*; use radix_engine_interface::prelude::*; - use sbor::validate_payload_against_schema; #[test] fn test_custom_type_values_are_valid() { @@ -60,16 +59,14 @@ mod tests { fn test_statically_valid(id: WellKnownTypeId, value: T) { let type_name = core::any::type_name::(); - validate_payload_against_schema::( - &scrypto_encode(&value).unwrap(), - &ScryptoCustomSchema::empty_schema(), - id.into(), - &(), - 10, - ) - .unwrap_or_else(|err| { - panic!("Expected value for {type_name} to match well known type but got: {err:?}") - }); + let schema = ScryptoCustomSchema::empty_schema(); + let context = (); + scrypto_encode_to_payload(&value) + .unwrap() + .validate_against_type(&schema, id.into(), &context) + .unwrap_or_else(|err| { + panic!("Expected value for {type_name} to match well known type but got: {err:?}") + }); } fn test_type_data_equivalent(id: WellKnownTypeId) { diff --git a/radix-engine-monkey-tests/src/lib.rs b/radix-engine-monkey-tests/src/lib.rs index 629039c6440..c0cfb856b54 100644 --- a/radix-engine-monkey-tests/src/lib.rs +++ b/radix-engine-monkey-tests/src/lib.rs @@ -798,8 +798,8 @@ impl FuzzTest { let epoch_change_event = events .into_iter() .filter(|(id, _data)| self.ledger.is_event_name_equal::(id)) - .map(|(_id, data)| scrypto_decode::(&data).unwrap()) - .collect::>() + .map(|(_id, data)| data.decode_as().unwrap()) + .collect::>() .into_iter() .next(); diff --git a/radix-engine-monkey-tests/src/resource.rs b/radix-engine-monkey-tests/src/resource.rs index d8c5233b22d..f2e1927114d 100644 --- a/radix-engine-monkey-tests/src/resource.rs +++ b/radix-engine-monkey-tests/src/resource.rs @@ -1,11 +1,7 @@ use crate::{ResourceComponentMeta, SystemTestFuzzer}; use radix_common::data::manifest::ManifestArgs; use radix_common::manifest_args; -use radix_common::prelude::IndexMap; -use radix_common::prelude::{ - manifest_decode, manifest_encode, scrypto_decode, scrypto_encode, ManifestValue, - NonFungibleLocalId, ScryptoValue, -}; +use radix_common::prelude::*; use radix_common::types::{ComponentAddress, ResourceAddress}; use radix_engine::errors::RuntimeError; use radix_engine::kernel::kernel_api::{KernelNodeApi, KernelSubstateApi}; @@ -39,7 +35,7 @@ impl VmInvoke for ResourceTestInvoke { input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -51,23 +47,22 @@ impl VmInvoke for ResourceTestInvoke { .unwrap(); let vault: Vault = api.field_read_typed(handle).unwrap(); - let input: (String, ScryptoValue) = scrypto_decode(input.as_slice()).unwrap(); + let input: (String, ScryptoValue) = input.into_typed().unwrap(); let rtn = api.call_method( vault.0.as_node_id(), input.0.as_str(), scrypto_encode(&input.1).unwrap(), )?; - return Ok(IndexedScryptoValue::from_vec(rtn).unwrap()); + return Ok(IndexedScryptoValue::from_untrusted_payload_vec(rtn).unwrap()); } "combine_buckets" => { - let input: (Bucket, Bucket) = scrypto_decode(input.as_slice()).unwrap(); + let input: (Bucket, Bucket) = input.into_typed().unwrap(); input.0.put(input.1, api)?; return Ok(IndexedScryptoValue::from_typed(&input.0)); } "new" => { - let resource_address: (ResourceAddress,) = - scrypto_decode(input.as_slice()).unwrap(); + let resource_address: (ResourceAddress,) = input.into_typed().unwrap(); let vault = Vault::create(resource_address.0, api).unwrap(); let metadata = Metadata::create(api)?; @@ -85,7 +80,7 @@ impl VmInvoke for ResourceTestInvoke { )?; } "new_with_bucket" => { - let bucket: (Bucket,) = scrypto_decode(input.as_slice()).unwrap(); + let bucket: (Bucket,) = input.into_typed().unwrap(); let resource_address = bucket.0.resource_address(api).unwrap(); let mut vault = Vault::create(resource_address, api).unwrap(); vault.put(bucket.0, api).unwrap(); diff --git a/radix-engine-monkey-tests/tests/fuzz_kernel.rs b/radix-engine-monkey-tests/tests/fuzz_kernel.rs index 37dde3f70ab..6403062d090 100644 --- a/radix-engine-monkey-tests/tests/fuzz_kernel.rs +++ b/radix-engine-monkey-tests/tests/fuzz_kernel.rs @@ -232,11 +232,11 @@ impl KernelCallbackObject for TestCallbackObject { fn invoke_upstream( args: &IndexedScryptoValue, _api: &mut Y, - ) -> Result + ) -> Result where Y: KernelApi, { - Ok(args.clone()) + Ok(args.ref_into_owned()) } fn auto_drop(_nodes: Vec, _api: &mut Y) -> Result<(), RuntimeError> @@ -338,7 +338,7 @@ impl KernelFuzzer { } } - fn next_value(&mut self) -> IndexedScryptoValue { + fn next_value(&mut self) -> IndexedOwnedScryptoValue { let mut owned = Vec::new(); let mut refs = Vec::new(); let num_children = self.rng.gen_range(0usize..self.nodes.len()); @@ -351,7 +351,7 @@ impl KernelFuzzer { } } - IndexedScryptoValue::from_typed(&(owned, refs)) + IndexedOwnedScryptoValue::from_typed(&(owned, refs)) } fn next_entity_type(&mut self) -> EntityType { diff --git a/radix-engine-tests/assets/blueprints/oracle_proxies/oracle_generic_proxy_with_global/src/lib.rs b/radix-engine-tests/assets/blueprints/oracle_proxies/oracle_generic_proxy_with_global/src/lib.rs index f75e66d8a62..5d76a5bcdb0 100644 --- a/radix-engine-tests/assets/blueprints/oracle_proxies/oracle_generic_proxy_with_global/src/lib.rs +++ b/radix-engine-tests/assets/blueprints/oracle_proxies/oracle_generic_proxy_with_global/src/lib.rs @@ -68,7 +68,7 @@ mod proxy { // ) // .build(); // ``` - pub fn call_method(&self, method_name: String, args: ScryptoValue) -> ScryptoValue { + pub fn call_method(&self, method_name: String, args: ScryptoOwnedRawValue) -> ScryptoOwnedRawValue { let args = scrypto_encode(&args).unwrap(); let bytes = ScryptoVmV1Api::object_call( diff --git a/radix-engine-tests/benches/costing.rs b/radix-engine-tests/benches/costing.rs index f91273995d0..916b0caa237 100644 --- a/radix-engine-tests/benches/costing.rs +++ b/radix-engine-tests/benches/costing.rs @@ -49,26 +49,18 @@ fn bench_validate_sbor_payload(c: &mut Criterion) { "radiswap.rpd" )) .unwrap(); - let payload = scrypto_encode(&package_definition).unwrap(); + let payload = scrypto_encode_to_payload(&package_definition).unwrap(); println!("Payload size: {}", payload.len()); let (index, schema) = generate_full_schema_from_single_type::(); c.bench_function("costing::validate_sbor_payload", |b| { - b.iter(|| { - validate_payload_against_schema::( - &payload, - schema.v1(), - index, - &(), - SCRYPTO_SBOR_V1_MAX_DEPTH, - ) - }) + b.iter(|| payload.validate_against_type(schema.v1(), index, &())) }); } fn bench_validate_sbor_payload_bytes(c: &mut Criterion) { - let payload = scrypto_encode(include_workspace_asset_bytes!( + let payload = scrypto_encode_to_payload(include_workspace_asset_bytes!( "radix-transaction-scenarios", "radiswap.rpd" )) @@ -77,15 +69,7 @@ fn bench_validate_sbor_payload_bytes(c: &mut Criterion) { let (index, schema) = generate_full_schema_from_single_type::, ScryptoCustomSchema>(); c.bench_function("costing::validate_sbor_payload_bytes", |b| { - b.iter(|| { - validate_payload_against_schema::( - &payload, - schema.v1(), - index, - &(), - SCRYPTO_SBOR_V1_MAX_DEPTH, - ) - }) + b.iter(|| payload.validate_against_type(schema.v1(), index, &())) }); } diff --git a/radix-engine-tests/tests/application/reconciliation_log.txt b/radix-engine-tests/tests/application/reconciliation_log.txt new file mode 100644 index 00000000000..286b8e51d52 --- /dev/null +++ b/radix-engine-tests/tests/application/reconciliation_log.txt @@ -0,0 +1,10178 @@ + +running 1 test +test application::stake_reconciliation::test_stake_reconciliation ... ok + +successes: + +---- application::stake_reconciliation::test_stake_reconciliation stdout ---- +-------------------------------------------------------Executable------------------------------------------------------- +Intent hash: 5d6e434515e6f7a9efdd0a046334738394506250d275438576b588a05527aa3b +Payload size: 221 +Transaction costing parameters: TransactionCostingParameters { tip_percentage: 0, free_credit_in_xrd: 0, abort_when_loan_repaid: false } +Pre-allocated addresses: [] +Blobs: [] +References: {Reference(c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6), Reference(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6), Reference(9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6)} +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) +[0] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 +[0] Reading substate: handle = 0, size = 23, device = Store +[0] Substate close: handle = 0 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6):, ident: "run", auth_zone: NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7") }), input size = 381 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 + [1] Reading substate: handle = 1, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 1 + [1] Reading substate: handle = 2, size = 217, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 188, 12, 232, 110, 91, 201, 19, 105, 224, 156, 182, 16, 65, 0, 4, 91, 34, 141, 57, 124, 72, 190, 253, 39, 12, 2, 0, 223, 61, 42, 174, 216]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 2 + [1] Reading substate: handle = 3, size = 396, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 3 + [1] Reading substate: handle = 4, size = 18, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 4 + [1] Reading substate: handle = 5, size = 26, device = Store + [1] Substate close: handle = 4 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "Worktop"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [1] Reading substate: handle = 6, size = 118, device = Store + [1] Substate close: handle = 5 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [1] Reading substate: handle = 7, size = 118, device = Store + [1] Substate close: handle = 6 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [1] Reading substate: handle = 8, size = 118, device = Store + [1] Substate close: handle = 7 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 8 + [1] Reading substate: handle = 9, size = 23, device = Store + [1] Substate close: handle = 8 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 9 + [1] Reading substate: handle = 10, size = 118, device = Store + [1] Substate close: handle = 9 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "lock_fee", auth_zone: NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 66 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 10 + [1] Reading substate: handle = 11, size = 135, device = Store + [1] Substate close: handle = 10 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 11 + [1] Reading substate: handle = 12, size = 18, device = Store + [1] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 13, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 1 + [2] Reading substate: handle = 14, size = 758, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 2 + [2] Reading substate: handle = 15, size = 118, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 128, 7, 14, 113, 85, 210, 236, 154, 85, 184, 199, 157, 142, 233, 63, 232, 62, 65, 104, 91, 230, 250, 92, 148, 239, 54, 181, 160, 141, 34, 35, 83]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 16, size = 350, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 4 + [2] Reading substate: handle = 17, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 5 + [2] Reading substate: handle = 18, size = 176953, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [2] Reading substate: handle = 19, size = 118, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [2] Reading substate: handle = 21, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [2] Reading substate: handle = 22, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), handle = 10 + [2] Reading substate: handle = 23, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [2] Reading substate: handle = 24, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 25, size = 275, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 13 + [2] Reading substate: handle = 26, size = 116, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 27, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 28, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 29, size = 2934, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 2 + [3] Reading substate: handle = 30, size = 116, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 70, 42, 63, 234, 40, 49, 23, 170, 178, 176, 28, 41, 120, 18, 189, 192, 250, 144, 96, 178, 158, 181, 230, 139, 132, 127, 54, 27, 193, 32, 25, 51]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 31, size = 1790, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 32, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 33, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 34, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 35, size = 37, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [3] Reading substate: handle = 36, size = 116, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Substate close: handle = 9 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), handle = 15 + [2] Reading substate: handle = 38, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191") + [2] Locking substate: node id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8358abf6c9ff6d33e80c1043565fb4d83a98b299c4981c02b01ab0ea191"), handle = 16 + [2] Reading substate: handle = 39, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 40, size = 2218, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 18 + [2] Reading substate: handle = 41, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 42, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), handle = 20 + [2] Reading substate: handle = 43, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 21 + [2] Reading substate: handle = 44, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 45, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 46, size = 18, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "lock_fee", auth_zone: NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 47, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 48, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 49, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 50, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 51, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 52, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 53, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 54, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 55, size = 116, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 56, size = 145, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 9 + [3] Reading substate: handle = 57, size = 2925, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 58, size = 14, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [3] Reading substate: handle = 59, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE | UNMODIFIED_BASE | FORCE_WRITE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 12 + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), handle = 25 + [2] Reading substate: handle = 61, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c") + [2] Locking substate: node id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8ef325cc25e959ebcb520e990e52160d80c1d9f32a334f4319daad8d31c"), handle = 26 + [2] Reading substate: handle = 62, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 63, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 28 + [2] Reading substate: handle = 64, size = 111, device = Store + [2] Substate close: handle = 28 + [2] Writing substate: handle = 7, size = 73 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), handle = 12 + [1] Reading substate: handle = 65, size = 151, device = Heap + [1] Writing substate: handle = 12, size = 151 + [1] Substate close: handle = 12 + [1] Dropping node: id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e") + [1] Locking substate: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8c5d1f0315389e3fe66276b169f69852a300fda16df6c0e622d17f3052e"), handle = 13 + [1] Reading substate: handle = 66, size = 80, device = Heap + [1] Substate close: handle = 13 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 14 + [1] Reading substate: handle = 67, size = 751, device = Store + [1] Substate close: handle = 14 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, ident: "create_advanced", auth_zone: NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a") }), input size = 138 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 15 + [1] Reading substate: handle = 68, size = 135, device = Store + [1] Substate close: handle = 15 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 16 + [1] Reading substate: handle = 69, size = 18, device = Store + [1] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 70, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 1 + [2] Reading substate: handle = 71, size = 6154, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 165, 69, 16, 38, 77, 189, 19, 224, 62, 167, 214, 227, 17, 45, 95, 58, 136, 201, 189, 218, 230, 107, 149, 105, 213, 222, 56, 27, 169, 68, 122, 138]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 2 + [2] Reading substate: handle = 72, size = 3706, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), handle = 3 + [2] Reading substate: handle = 73, size = 182, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 4 + [2] Reading substate: handle = 74, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 5 + [2] Reading substate: handle = 75, size = 26, device = Store + [2] Substate close: handle = 5 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6)"), "Account"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 6 + [2] Reading substate: handle = 76, size = 23, device = Store + [2] Substate close: handle = 6 + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6):, ident: "create", auth_zone: NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665") }), input size = 158 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 7 + [2] Reading substate: handle = 77, size = 119, device = Store + [2] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 0 + [3] Reading substate: handle = 78, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 1 + [3] Reading substate: handle = 79, size = 1306, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 160, 108, 22, 202, 162, 110, 47, 188, 1, 186, 43, 159, 229, 100, 163, 240, 45, 143, 66, 108, 69, 128, 252, 175, 235, 223, 245, 70, 79, 239, 189, 232]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 2 + [3] Reading substate: handle = 80, size = 1092, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), handle = 3 + [3] Reading substate: handle = 81, size = 182, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 4 + [3] Reading substate: handle = 82, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 5 + [3] Reading substate: handle = 83, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 84, size = 182, device = Store + [3] Substate close: handle = 6 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)], PartitionNumber(65): [Map([92, 33, 2, 34, 0, 0, 12, 8, 115, 101, 99, 117, 114, 105, 102, 121])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6)"), "RoleAssignment"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Returning nodes: [NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), handle = 8 + [2] Reading substate: handle = 85, size = 86, device = Heap + [2] Substate close: handle = 8 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665"), handle = 9 + [2] Reading substate: handle = 86, size = 138, device = Heap + [2] Writing substate: handle = 9, size = 138 + [2] Substate close: handle = 9 + [2] Dropping node: id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665") + [2] Locking substate: node id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8acb86773d40da4d92659e48259d5c1677282850b7fb8bc149004af2665"), handle = 10 + [2] Reading substate: handle = 87, size = 80, device = Heap + [2] Substate close: handle = 10 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 11 + [2] Reading substate: handle = 88, size = 305, device = Store + [2] Substate close: handle = 11 + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6):, ident: "create_with_data", auth_zone: NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622") }), input size = 79 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 12 + [2] Reading substate: handle = 89, size = 119, device = Store + [2] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 0 + [3] Reading substate: handle = 90, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 1 + [3] Reading substate: handle = 91, size = 1326, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 7, 191, 229, 137, 28, 208, 83, 148, 250, 48, 198, 166, 127, 171, 146, 8, 100, 47, 57, 102, 92, 169, 3, 249, 64, 90, 255, 107, 111, 239, 179, 106]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 2 + [3] Reading substate: handle = 92, size = 1967, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 3 + [3] Reading substate: handle = 93, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 4 + [3] Reading substate: handle = 94, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Map([92, 12, 11, 111, 119, 110, 101, 114, 95, 98, 97, 100, 103, 101])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6)"), "Metadata"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Returning nodes: [NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), handle = 13 + [2] Reading substate: handle = 95, size = 80, device = Heap + [2] Substate close: handle = 13 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622"), handle = 14 + [2] Reading substate: handle = 96, size = 138, device = Heap + [2] Writing substate: handle = 14, size = 138 + [2] Substate close: handle = 14 + [2] Dropping node: id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622") + [2] Locking substate: node id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dd4f8e0d93b6219cacf18d012e66edc28e6cbfc860d6b057e1f9b35622"), handle = 15 + [2] Reading substate: handle = 97, size = 80, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), handle = 16 + [2] Reading substate: handle = 98, size = 79, device = Heap + [2] Substate close: handle = 16 + [2] Allocating node id: entity_type = GlobalAccount + [2] Creating node: id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), type = Some(GlobalAccount), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[3](Tuple(Tuple(Reference("NodeId(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6)"), "Account")))}) + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8e68a2541de0dd1adeba10a84af04df041b748beb087a2b66f5566b03bb"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[2](Reference("NodeId(c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42)"))}) + [2] Dropping node: id = NodeId("f8e68a2541de0dd1adeba10a84af04df041b748beb087a2b66f5566b03bb") + [2] Locking substate: node id = NodeId("f8e68a2541de0dd1adeba10a84af04df041b748beb087a2b66f5566b03bb"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8e68a2541de0dd1adeba10a84af04df041b748beb087a2b66f5566b03bb"), handle = 17 + [2] Reading substate: handle = 99, size = 35, device = Heap + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 18 + [2] Reading substate: handle = 100, size = 48, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), handle = 19 + [2] Reading substate: handle = 101, size = 79, device = Heap + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), handle = 20 + [2] Reading substate: handle = 102, size = 86, device = Heap + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), handle = 21 + [2] Reading substate: handle = 103, size = 80, device = Heap + [2] Substate close: handle = 21 + [2] Creating node: id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), type = Some(GlobalAccount), substates = {}, module 0 = None + [2] Dropping node: id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663") + [2] Locking substate: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81220d877c93108135ae4c97c7b39d654c5461ea2860202506495050663"), handle = 22 + [2] Reading substate: handle = 104, size = 79, device = Heap + [2] Substate close: handle = 22 + [2] Dropping node: id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4") + [2] Locking substate: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bd745ac294144599468f5977615832e551a48ff8e309934bee795d96b4"), handle = 23 + [2] Reading substate: handle = 105, size = 86, device = Heap + [2] Substate close: handle = 23 + [2] Dropping node: id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219") + [2] Locking substate: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81d95cd906c4dc35c660f7d69d1ccb9564a88fa28a20a25f3a91d1d8219"), handle = 24 + [2] Reading substate: handle = 106, size = 80, device = Heap + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 25 + [2] Reading substate: handle = 107, size = 119, device = Store + [2] Substate close: handle = 25 + [2] Returning nodes: [] + [2] Returning refs: [NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42")] + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a"), handle = 17 + [1] Reading substate: handle = 108, size = 151, device = Heap + [1] Writing substate: handle = 17, size = 151 + [1] Substate close: handle = 17 + [1] Dropping node: id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a") + [1] Locking substate: node id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f828a12592c54137d79cb33d6dcae4efdfd79ba18b31cc3e465d5c5b839a"), handle = 18 + [1] Reading substate: handle = 109, size = 80, device = Heap + [1] Substate close: handle = 18 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 19 + [1] Reading substate: handle = 110, size = 23, device = Store + [1] Substate close: handle = 19 + [1] Locking substate: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), handle = 20 + [1] Reading substate: handle = 111, size = 79, device = Heap + [1] Substate close: handle = 20 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 21 + [1] Reading substate: handle = 112, size = 2043, device = Store + [1] Substate close: handle = 21 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Worktop_drop", auth_zone: NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0") }), input size = 83 + [1] Sending nodes: [NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 22 + [1] Reading substate: handle = 113, size = 119, device = Store + [1] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 114, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 141, 211, 182, 27, 8, 110, 213, 118, 124, 205, 149, 251, 20, 119, 195, 234, 70, 58, 213, 0, 97, 24, 137, 30, 59, 56, 255, 159, 241, 249, 161, 223]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 115, size = 827, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), handle = 2 + [2] Reading substate: handle = 116, size = 79, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 117, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 118, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), handle = 5 + [2] Reading substate: handle = 119, size = 15, device = Heap + [2] Writing substate: handle = 5, size = 15 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), handle = 6 + [2] Reading substate: handle = 120, size = 79, device = Heap + [2] Substate close: handle = 6 + [2] Dropping node: id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce") + [2] Locking substate: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84d765edf07ba368ea04fee1d3a1b9b51d64aaf3580e0ff4eba82c9fdce"), handle = 7 + [2] Reading substate: handle = 121, size = 79, device = Heap + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0"), handle = 23 + [1] Reading substate: handle = 122, size = 151, device = Heap + [1] Writing substate: handle = 23, size = 151 + [1] Substate close: handle = 23 + [1] Dropping node: id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0") + [1] Locking substate: node id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8cfa8ca093c8db5a5f77187098ebc927729f2fd8627c1aff8ba4f0bf0a0"), handle = 24 + [1] Reading substate: handle = 123, size = 80, device = Heap + [1] Substate close: handle = 24 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 49 +[0] Locking substate: node id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7"), handle = 1 +[0] Reading substate: handle = 124, size = 29, device = Heap +[0] Writing substate: handle = 1, size = 29 +[0] Substate close: handle = 1 +[0] Dropping node: id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7") +[0] Locking substate: node id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8ead0e61e19e472deef05a55ce9a996e48f556ed97181128ddbeaa831c7"), handle = 2 +[0] Reading substate: handle = 125, size = 80, device = Heap +[0] Substate close: handle = 2 +-------------------------------------------------Interpretation Results------------------------------------------------- +Ok([CallReturn([92, 33, 0]), CallReturn([92, 128, 193, 247, 171, 212, 140, 81, 139, 142, 189, 198, 163, 90, 191, 190, 120, 88, 55, 37, 169, 126, 171, 220, 153, 34, 69, 113, 224, 209, 29, 66])]) +------------------------------------------------Execution Cost Breakdown------------------------------------------------ +AfterInvoke : 262 +AllocateNodeId : 1358 +BeforeInvoke : 1270 +CloseSubstate : 16254 +CreateNode : 11490 +DropNode : 19131 +EmitEvent : 556 +LockFee : 500 +MarkSubstateAsTransient : 55 +MoveModule : 1120 +OpenSubstate::GlobalAccount : 940 +OpenSubstate::GlobalFungibleResourceManager : 121872 +OpenSubstate::GlobalGenericComponent : 43690 +OpenSubstate::GlobalNonFungibleResourceManager : 42019 +OpenSubstate::GlobalPackage : 2417644 +OpenSubstate::InternalFungibleVault : 90202 +OpenSubstate::InternalGenericComponent : 16329 +OpenSubstate::InternalKeyValueStore : 40536 +PinNode : 144 +PrepareWasmCode : 353866 +QueryActor : 1000 +ReadSubstate : 447015 +RunNativeCode::Worktop_drop : 17918 +RunNativeCode::create : 24592 +RunNativeCode::create_advanced : 81807 +RunNativeCode::create_with_data : 27471 +RunNativeCode::get_amount_FungibleVault : 14451 +RunNativeCode::lock_fee : 45243 +RunWasmCode::Faucet_lock_fee : 24589 +SetSubstate : 371 +ValidateTxPayload : 8840 +VerifyTxSignatures : 7000 +WriteSubstate : 4892 +----------------------------------------------Finalization Cost Breakdown----------------------------------------------- +CommitEvents : 5007 +CommitLogs : 0 +CommitStateUpdates::GlobalAccount : 500063 +CommitStateUpdates::GlobalGenericComponent : 100018 +CommitStateUpdates::InternalFungibleVault : 100009 +------------------------------------------------------Fee Summary------------------------------------------------------- +Execution Cost Units Consumed : 3884427 +Finalization Cost Units Consumed : 705097 +Execution Cost in XRD : 0.19422135 +Finalization Cost in XRD : 0.03525485 +Tipping Cost in XRD : 0 +Storage Cost in XRD : 0.07095336792 +Royalty Costs in XRD : 0 +----------------------------------------------------Application Logs---------------------------------------------------- +--------------------------------------------------------Outcome--------------------------------------------------------- +Success +---------------------------------------------------------Finish--------------------------------------------------------- +-------------------------------------------------------Executable------------------------------------------------------- +Intent hash: 23eba8edb30754a90a5a7b465d1bb2100f12c311e51c434533340e76439e5034 +Payload size: 186 +Transaction costing parameters: TransactionCostingParameters { tip_percentage: 0, free_credit_in_xrd: 0, abort_when_loan_repaid: false } +Pre-allocated addresses: [] +Blobs: [] +References: {Reference(c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6), Reference(c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42)} +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) +[0] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 +[0] Reading substate: handle = 0, size = 23, device = Store +[0] Substate close: handle = 0 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6):, ident: "run", auth_zone: NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf") }), input size = 316 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42")] + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 + [1] Reading substate: handle = 1, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 1 + [1] Reading substate: handle = 2, size = 217, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 188, 12, 232, 110, 91, 201, 19, 105, 224, 156, 182, 16, 65, 0, 4, 91, 34, 141, 57, 124, 72, 190, 253, 39, 12, 2, 0, 223, 61, 42, 174, 216]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 2 + [1] Reading substate: handle = 3, size = 396, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 3 + [1] Reading substate: handle = 4, size = 18, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 4 + [1] Reading substate: handle = 5, size = 26, device = Store + [1] Substate close: handle = 4 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "Worktop"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [1] Reading substate: handle = 6, size = 118, device = Store + [1] Substate close: handle = 5 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [1] Reading substate: handle = 7, size = 118, device = Store + [1] Substate close: handle = 6 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [1] Reading substate: handle = 8, size = 118, device = Store + [1] Substate close: handle = 7 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 8 + [1] Reading substate: handle = 9, size = 23, device = Store + [1] Substate close: handle = 8 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 9 + [1] Reading substate: handle = 10, size = 118, device = Store + [1] Substate close: handle = 9 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "lock_fee", auth_zone: NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 66 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 10 + [1] Reading substate: handle = 11, size = 135, device = Store + [1] Substate close: handle = 10 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 11 + [1] Reading substate: handle = 12, size = 18, device = Store + [1] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 13, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 1 + [2] Reading substate: handle = 14, size = 758, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 2 + [2] Reading substate: handle = 15, size = 118, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 128, 7, 14, 113, 85, 210, 236, 154, 85, 184, 199, 157, 142, 233, 63, 232, 62, 65, 104, 91, 230, 250, 92, 148, 239, 54, 181, 160, 141, 34, 35, 83]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 16, size = 350, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 4 + [2] Reading substate: handle = 17, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 5 + [2] Reading substate: handle = 18, size = 176953, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [2] Reading substate: handle = 19, size = 118, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [2] Reading substate: handle = 21, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [2] Reading substate: handle = 22, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), handle = 10 + [2] Reading substate: handle = 23, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [2] Reading substate: handle = 24, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 25, size = 275, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 13 + [2] Reading substate: handle = 26, size = 116, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 27, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 28, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 29, size = 2934, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 2 + [3] Reading substate: handle = 30, size = 116, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 70, 42, 63, 234, 40, 49, 23, 170, 178, 176, 28, 41, 120, 18, 189, 192, 250, 144, 96, 178, 158, 181, 230, 139, 132, 127, 54, 27, 193, 32, 25, 51]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 31, size = 1790, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 32, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 33, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 34, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 35, size = 37, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [3] Reading substate: handle = 36, size = 116, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Substate close: handle = 9 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), handle = 15 + [2] Reading substate: handle = 38, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918") + [2] Locking substate: node id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8cc9ae44f254a95872f33bc2ab4470f7f41ba7004c3bc3ebcdeca256918"), handle = 16 + [2] Reading substate: handle = 39, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 40, size = 2218, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 18 + [2] Reading substate: handle = 41, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 42, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), handle = 20 + [2] Reading substate: handle = 43, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 21 + [2] Reading substate: handle = 44, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 45, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 46, size = 18, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "lock_fee", auth_zone: NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 47, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 48, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 49, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 50, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 51, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 52, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 53, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 54, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 55, size = 116, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 56, size = 145, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 9 + [3] Reading substate: handle = 57, size = 2925, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 58, size = 14, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [3] Reading substate: handle = 59, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE | UNMODIFIED_BASE | FORCE_WRITE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 12 + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), handle = 25 + [2] Reading substate: handle = 61, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1") + [2] Locking substate: node id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8eca8567d9c325bf31717a66bb33f11541263f14e09af56bfdc1c35ccd1"), handle = 26 + [2] Reading substate: handle = 62, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 63, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 28 + [2] Reading substate: handle = 64, size = 111, device = Store + [2] Substate close: handle = 28 + [2] Writing substate: handle = 7, size = 73 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), handle = 12 + [1] Reading substate: handle = 65, size = 151, device = Heap + [1] Writing substate: handle = 12, size = 151 + [1] Substate close: handle = 12 + [1] Dropping node: id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630") + [1] Locking substate: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f83442d368cc57b4c96dca75e4b4d84d402c0f53db8af747a5904e770630"), handle = 13 + [1] Reading substate: handle = 66, size = 80, device = Heap + [1] Substate close: handle = 13 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 14 + [1] Reading substate: handle = 67, size = 118, device = Store + [1] Substate close: handle = 14 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 15 + [1] Reading substate: handle = 68, size = 118, device = Store + [1] Substate close: handle = 15 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 16 + [1] Reading substate: handle = 69, size = 118, device = Store + [1] Substate close: handle = 16 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 17 + [1] Reading substate: handle = 70, size = 118, device = Store + [1] Substate close: handle = 17 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "free", auth_zone: NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 37 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 18 + [1] Reading substate: handle = 71, size = 135, device = Store + [1] Substate close: handle = 18 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 19 + [1] Reading substate: handle = 72, size = 18, device = Store + [1] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 73, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 1 + [2] Reading substate: handle = 74, size = 118, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 2 + [2] Reading substate: handle = 75, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 76, size = 176953, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 4 + [2] Reading substate: handle = 77, size = 118, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [2] Reading substate: handle = 78, size = 73, device = Store + [2] Reading substate: handle = 78, size = 73, device = Store + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 6 + [2] Reading substate: handle = 79, size = 128, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 7 + [2] Reading substate: handle = 80, size = 128, device = Store + [2] Substate close: handle = 7 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 8 + [2] Reading substate: handle = 81, size = 128, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 9 + [2] Reading substate: handle = 82, size = 231, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 10 + [2] Reading substate: handle = 83, size = 128, device = Store + [2] Substate close: handle = 10 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), ident: "get_current_epoch", auth_zone: NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 50 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 11 + [2] Reading substate: handle = 84, size = 135, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 12 + [2] Reading substate: handle = 85, size = 18, device = Store + [2] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 0 + [3] Reading substate: handle = 86, size = 138, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 1 + [3] Reading substate: handle = 87, size = 2076, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 2 + [3] Reading substate: handle = 88, size = 128, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 216, 81, 8, 119, 223, 29, 130, 15, 71, 82, 179, 192, 51, 186, 246, 86, 246, 46, 14, 97, 39, 49, 113, 136, 101, 208, 72, 185, 209, 99, 0, 179]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 3 + [3] Reading substate: handle = 89, size = 3416, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 4 + [3] Reading substate: handle = 90, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 5 + [3] Reading substate: handle = 91, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 6 + [3] Reading substate: handle = 92, size = 128, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 7 + [3] Reading substate: handle = 93, size = 57, device = Store + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 10 + [2] Locking substate: node id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), handle = 13 + [2] Reading substate: handle = 94, size = 127, device = Heap + [2] Writing substate: handle = 13, size = 127 + [2] Substate close: handle = 13 + [2] Dropping node: id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b") + [2] Locking substate: node id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f89085350236adcfe0824bea9f30ddb5fb9dbb3f8c800b14fba3820b770b"), handle = 14 + [2] Reading substate: handle = 95, size = 80, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 15 + [2] Reading substate: handle = 96, size = 111, device = Store + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(64), substate_key = Map([92, 32, 7, 32, 35, 235, 168, 237, 179, 7, 84, 169, 10, 90, 123, 70, 93, 27, 178, 16, 15, 18, 195, 17, 229, 28, 67, 69, 51, 52, 14, 118, 67, 158, 80, 52]), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 16 + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 17 + [2] Reading substate: handle = 98, size = 111, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(64), substate_key = Map([92, 32, 7, 32, 35, 235, 168, 237, 179, 7, 84, 169, 10, 90, 123, 70, 93, 27, 178, 16, 15, 18, 195, 17, 229, 28, 67, 69, 51, 52, 14, 118, 67, 158, 80, 52]), flags = MUTABLE + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 18 + [2] Writing substate: handle = 18, size = 21 + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 100, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 20 + [2] Reading substate: handle = 101, size = 116, device = Store + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), handle = 21 + [2] Reading substate: handle = 102, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 103, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 23 + [2] Reading substate: handle = 104, size = 116, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 105, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 106, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 107, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 108, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 109, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 110, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 5 + [3] Reading substate: handle = 111, size = 37, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 112, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), handle = 25 + [2] Reading substate: handle = 114, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c") + [2] Locking substate: node id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81b561bfcf944d12bac430032b694a3abe20c972184c161aa50f79e5b5c"), handle = 26 + [2] Reading substate: handle = 115, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 116, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 28 + [2] Reading substate: handle = 117, size = 116, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), handle = 29 + [2] Reading substate: handle = 118, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 29 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 30 + [2] Reading substate: handle = 119, size = 116, device = Store + [2] Substate close: handle = 30 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 31 + [2] Reading substate: handle = 120, size = 116, device = Store + [2] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 32 + [2] Reading substate: handle = 121, size = 18, device = Store + [2] Substate close: handle = 32 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "take", auth_zone: NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 33 + [2] Reading substate: handle = 122, size = 119, device = Store + [2] Substate close: handle = 33 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 123, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 124, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 125, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 126, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 127, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 128, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 129, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 7 + [3] Reading substate: handle = 130, size = 145, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 131, size = 14, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Reading substate: handle = 132, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 10 + [3] Reading substate: handle = 133, size = 37, device = Store + [3] Reading substate: handle = 133, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [3] Reading substate: handle = 134, size = 2072, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 12 + [3] Reading substate: handle = 135, size = 145, device = Store + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 97, 215, 242, 158, 15, 71, 7, 80, 215, 52, 221, 237, 117, 247, 13, 176, 158, 238, 125, 147, 35, 37, 238, 251, 31, 90, 204, 9, 222, 49, 84, 58]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [3] Reading substate: handle = 136, size = 1016, device = Store + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 14 + [3] Reading substate: handle = 137, size = 116, device = Store + [3] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 15 + [3] Reading substate: handle = 138, size = 117, device = Heap + [3] Substate close: handle = 15 + [3] Returning nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 34 + [2] Reading substate: handle = 139, size = 117, device = Heap + [2] Substate close: handle = 34 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), handle = 35 + [2] Reading substate: handle = 140, size = 182, device = Heap + [2] Writing substate: handle = 35, size = 182 + [2] Substate close: handle = 35 + [2] Dropping node: id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587") + [2] Locking substate: node id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f85d92f6bc4a0a8b43abe39c0fba235e357fc89286111b78844c5b57e587"), handle = 36 + [2] Reading substate: handle = 141, size = 80, device = Heap + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 37 + [2] Reading substate: handle = 142, size = 116, device = Store + [2] Substate close: handle = 37 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 38 + [2] Reading substate: handle = 143, size = 111, device = Store + [2] Substate close: handle = 38 + [2] Writing substate: handle = 5, size = 73 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 39 + [2] Reading substate: handle = 144, size = 117, device = Heap + [2] Substate close: handle = 39 + [2] Returning nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 20 + [1] Reading substate: handle = 145, size = 117, device = Heap + [1] Substate close: handle = 20 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), handle = 21 + [1] Reading substate: handle = 146, size = 151, device = Heap + [1] Writing substate: handle = 21, size = 151 + [1] Substate close: handle = 21 + [1] Dropping node: id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819") + [1] Locking substate: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8da335b61fd9a09e76ad110a109ea411d64f64fb7ded39e08aece0bf819"), handle = 22 + [1] Reading substate: handle = 147, size = 80, device = Heap + [1] Substate close: handle = 22 + [1] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 23 + [1] Reading substate: handle = 148, size = 117, device = Heap + [1] Substate close: handle = 23 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 24 + [1] Reading substate: handle = 149, size = 79, device = Heap + [1] Substate close: handle = 24 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 25 + [1] Reading substate: handle = 150, size = 79, device = Heap + [1] Substate close: handle = 25 + [1] Locking substate: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), handle = 26 + [1] Reading substate: handle = 151, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 26 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 27 + [1] Reading substate: handle = 152, size = 79, device = Heap + [1] Substate close: handle = 27 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 28 + [1] Reading substate: handle = 153, size = 23, device = Store + [1] Substate close: handle = 28 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 29 + [1] Reading substate: handle = 154, size = 79, device = Heap + [1] Substate close: handle = 29 + [1] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 30 + [1] Reading substate: handle = 155, size = 117, device = Heap + [1] Substate close: handle = 30 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), ident: "Worktop_put", auth_zone: NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 31 + [1] Reading substate: handle = 156, size = 119, device = Store + [1] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 157, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 158, size = 2043, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 2 + [2] Reading substate: handle = 159, size = 79, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 141, 211, 182, 27, 8, 110, 213, 118, 124, 205, 149, 251, 20, 119, 195, 234, 70, 58, 213, 0, 97, 24, 137, 30, 59, 56, 255, 159, 241, 249, 161, 223]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 160, size = 827, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 4 + [2] Reading substate: handle = 161, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [2] Reading substate: handle = 162, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 6 + [2] Reading substate: handle = 163, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 7 + [2] Reading substate: handle = 164, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 8 + [2] Reading substate: handle = 165, size = 117, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 9 + [2] Reading substate: handle = 166, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), handle = 10 + [2] Reading substate: handle = 167, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 11 + [2] Reading substate: handle = 168, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 169, size = 174, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 13 + [2] Reading substate: handle = 170, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), ident: "get_amount", auth_zone: NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 171, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 172, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 1 + [3] Reading substate: handle = 173, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 174, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 175, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 4 + [3] Reading substate: handle = 176, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 5 + [3] Reading substate: handle = 177, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 6 + [3] Reading substate: handle = 178, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 7 + [3] Reading substate: handle = 179, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), handle = 15 + [2] Reading substate: handle = 180, size = 91, device = Heap + [2] Writing substate: handle = 15, size = 91 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b") + [2] Locking substate: node id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8fb0333b75266b4a0de383f249105b3ea4ec9be74bf1d6fa703e603d42b"), handle = 16 + [2] Reading substate: handle = 181, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 17 + [2] Reading substate: handle = 182, size = 79, device = Heap + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 18 + [2] Reading substate: handle = 183, size = 15, device = Heap + [2] Reading substate: handle = 183, size = 15, device = Heap + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 19 + [2] Reading substate: handle = 184, size = 145, device = Store + [2] Substate close: handle = 19 + [2] Writing substate: handle = 18, size = 75 + [2] Substate close: handle = 18 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), handle = 32 + [1] Reading substate: handle = 185, size = 91, device = Heap + [1] Writing substate: handle = 32, size = 91 + [1] Substate close: handle = 32 + [1] Dropping node: id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44") + [1] Locking substate: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f81af13c5d57470be8667998a3a6a90493549ff928568d38e893442efb44"), handle = 33 + [1] Reading substate: handle = 186, size = 80, device = Heap + [1] Substate close: handle = 33 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 34 + [1] Reading substate: handle = 187, size = 79, device = Heap + [1] Substate close: handle = 34 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 35 + [1] Reading substate: handle = 188, size = 79, device = Heap + [1] Substate close: handle = 35 + [1] Locking substate: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), handle = 36 + [1] Reading substate: handle = 189, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 36 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 37 + [1] Reading substate: handle = 190, size = 79, device = Heap + [1] Substate close: handle = 37 + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 38 + [1] Reading substate: handle = 191, size = 79, device = Heap + [1] Substate close: handle = 38 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), ident: "Worktop_drain", auth_zone: NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 46 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 39 + [1] Reading substate: handle = 192, size = 119, device = Store + [1] Substate close: handle = 39 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 193, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 1 + [2] Reading substate: handle = 194, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 195, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 196, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 4 + [2] Reading substate: handle = 197, size = 79, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 5 + [2] Reading substate: handle = 198, size = 75, device = Heap + [2] Reading substate: handle = 198, size = 75, device = Heap + [2] Writing substate: handle = 5, size = 15 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 6 + [2] Reading substate: handle = 199, size = 117, device = Heap + [2] Substate close: handle = 6 + [2] Returning nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 40 + [1] Reading substate: handle = 200, size = 117, device = Heap + [1] Substate close: handle = 40 + [1] Exiting: output size = 34 + [1] Locking substate: node id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), handle = 41 + [1] Reading substate: handle = 201, size = 91, device = Heap + [1] Writing substate: handle = 41, size = 91 + [1] Substate close: handle = 41 + [1] Dropping node: id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b") + [1] Locking substate: node id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f83afde55149bf597447a8f4e233c47db6d69890c07c8d8d05a16be1927b"), handle = 42 + [1] Reading substate: handle = 202, size = 80, device = Heap + [1] Substate close: handle = 42 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 43 + [1] Reading substate: handle = 203, size = 119, device = Store + [1] Substate close: handle = 43 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 44 + [1] Reading substate: handle = 204, size = 119, device = Store + [1] Substate close: handle = 44 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 45 + [1] Reading substate: handle = 205, size = 119, device = Store + [1] Substate close: handle = 45 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 46 + [1] Reading substate: handle = 206, size = 751, device = Store + [1] Substate close: handle = 46 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 47 + [1] Reading substate: handle = 207, size = 119, device = Store + [1] Substate close: handle = 47 + [1] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 48 + [1] Reading substate: handle = 208, size = 117, device = Heap + [1] Substate close: handle = 48 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "try_deposit_batch_or_abort", auth_zone: NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 95 + [1] Sending nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 49 + [1] Reading substate: handle = 209, size = 135, device = Store + [1] Substate close: handle = 49 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 50 + [1] Reading substate: handle = 210, size = 18, device = Store + [1] Substate close: handle = 50 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 211, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 1 + [2] Reading substate: handle = 212, size = 6154, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 2 + [2] Reading substate: handle = 213, size = 119, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 165, 69, 16, 38, 77, 189, 19, 224, 62, 167, 214, 227, 17, 45, 95, 58, 136, 201, 189, 218, 230, 107, 149, 105, 213, 222, 56, 27, 169, 68, 122, 138]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 214, size = 3706, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 4 + [2] Reading substate: handle = 215, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 5 + [2] Reading substate: handle = 216, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 6 + [2] Reading substate: handle = 217, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 7 + [2] Reading substate: handle = 218, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 8 + [2] Reading substate: handle = 219, size = 119, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 9 + [2] Reading substate: handle = 220, size = 145, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(66), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 10 + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 11 + [2] Reading substate: handle = 222, size = 119, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 12 + [2] Reading substate: handle = 223, size = 17, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 13 + [2] Reading substate: handle = 224, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 14 + [2] Reading substate: handle = 225, size = 117, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 15 + [2] Reading substate: handle = 226, size = 117, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), handle = 16 + [2] Reading substate: handle = 227, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 17 + [2] Reading substate: handle = 228, size = 117, device = Heap + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 18 + [2] Reading substate: handle = 229, size = 117, device = Heap + [2] Substate close: handle = 18 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), ident: "get_amount", auth_zone: NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 19 + [2] Reading substate: handle = 230, size = 119, device = Store + [2] Substate close: handle = 19 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 231, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 1 + [3] Reading substate: handle = 232, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 233, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 234, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 4 + [3] Reading substate: handle = 235, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 5 + [3] Reading substate: handle = 236, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 6 + [3] Reading substate: handle = 237, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 7 + [3] Reading substate: handle = 238, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), handle = 20 + [2] Reading substate: handle = 239, size = 182, device = Heap + [2] Writing substate: handle = 20, size = 182 + [2] Substate close: handle = 20 + [2] Dropping node: id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63") + [2] Locking substate: node id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f93a61c921a21d23ee12563a0e0961a71b59b7f70b4b1cf5374da26a63"), handle = 21 + [2] Reading substate: handle = 240, size = 80, device = Heap + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 22 + [2] Reading substate: handle = 241, size = 119, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 242, size = 145, device = Store + [2] Substate close: handle = 23 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 24 + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 25 + [2] Reading substate: handle = 244, size = 119, device = Store + [2] Substate close: handle = 25 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 26 + [2] Reading substate: handle = 245, size = 145, device = Store + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = MUTABLE + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 27 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 28 + [2] Reading substate: handle = 247, size = 145, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 29 + [2] Reading substate: handle = 248, size = 145, device = Store + [2] Substate close: handle = 29 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 30 + [2] Reading substate: handle = 249, size = 145, device = Store + [2] Substate close: handle = 30 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 31 + [2] Reading substate: handle = 250, size = 587, device = Store + [2] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 32 + [2] Reading substate: handle = 251, size = 145, device = Store + [2] Substate close: handle = 32 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), ident: "create_empty_vault", auth_zone: NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 33 + [2] Reading substate: handle = 252, size = 119, device = Store + [2] Substate close: handle = 33 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 253, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 254, size = 145, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 186, 39, 204, 21, 88, 132, 214, 225, 170, 122, 65, 52, 111, 216, 193, 31, 24, 204, 153, 119, 86, 83, 202, 239, 31, 211, 69, 93, 98, 95, 209, 71]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 255, size = 4925, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 256, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 257, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 258, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 259, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 7 + [3] Reading substate: handle = 260, size = 145, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 8 + [3] Reading substate: handle = 261, size = 116, device = Heap + [3] Substate close: handle = 8 + [3] Returning nodes: [NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 34 + [2] Reading substate: handle = 262, size = 116, device = Heap + [2] Substate close: handle = 34 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), handle = 35 + [2] Reading substate: handle = 263, size = 127, device = Heap + [2] Writing substate: handle = 35, size = 127 + [2] Substate close: handle = 35 + [2] Dropping node: id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623") + [2] Locking substate: node id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f818740463586485efcbd5fcff22cc4fd0f401f44836cb53235fc42f9623"), handle = 36 + [2] Reading substate: handle = 264, size = 80, device = Heap + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 37 + [2] Reading substate: handle = 265, size = 116, device = Heap + [2] Substate close: handle = 37 + [2] Writing substate: handle = 27, size = 46 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 38 + [2] Reading substate: handle = 266, size = 116, device = Store + [2] Substate close: handle = 38 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 39 + [2] Reading substate: handle = 267, size = 116, device = Store + [2] Substate close: handle = 39 + [2] Locking substate: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), handle = 40 + [2] Reading substate: handle = 268, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 40 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 41 + [2] Reading substate: handle = 269, size = 116, device = Store + [2] Substate close: handle = 41 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 42 + [2] Reading substate: handle = 270, size = 116, device = Store + [2] Substate close: handle = 42 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 43 + [2] Reading substate: handle = 271, size = 18, device = Store + [2] Substate close: handle = 43 + [2] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 44 + [2] Reading substate: handle = 272, size = 117, device = Heap + [2] Substate close: handle = 44 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), ident: "put", auth_zone: NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 67 + [2] Sending nodes: [NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 45 + [2] Reading substate: handle = 273, size = 119, device = Store + [2] Substate close: handle = 45 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 274, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 1 + [3] Reading substate: handle = 275, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 2 + [3] Reading substate: handle = 276, size = 117, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 277, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 278, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 5 + [3] Reading substate: handle = 279, size = 116, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 280, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 7 + [3] Reading substate: handle = 281, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581") + [3] Locking substate: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a60d066eb1b60a4a1b899844984c8ffed22d7783ec7621f6f8c9de8581"), handle = 8 + [3] Reading substate: handle = 282, size = 117, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 9 + [3] Reading substate: handle = 283, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 10 + [3] Reading substate: handle = 284, size = 37, device = Store + [3] Reading substate: handle = 284, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 11 + [3] Reading substate: handle = 285, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), handle = 46 + [2] Reading substate: handle = 286, size = 182, device = Heap + [2] Writing substate: handle = 46, size = 182 + [2] Substate close: handle = 46 + [2] Dropping node: id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35") + [2] Locking substate: node id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8eb3324ca8b196a1344c24ab0ea0777a75d0577ddc56bc42c9ad5136d35"), handle = 47 + [2] Reading substate: handle = 287, size = 80, device = Heap + [2] Substate close: handle = 47 + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 48 + [2] Reading substate: handle = 288, size = 119, device = Store + [2] Substate close: handle = 48 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 49 + [2] Reading substate: handle = 289, size = 145, device = Store + [2] Substate close: handle = 49 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), handle = 51 + [1] Reading substate: handle = 290, size = 151, device = Heap + [1] Writing substate: handle = 51, size = 151 + [1] Substate close: handle = 51 + [1] Dropping node: id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a") + [1] Locking substate: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a824396236ec98bb08ae92dc8197dcd1175771d517e1487f0e77ce80a"), handle = 52 + [1] Reading substate: handle = 291, size = 80, device = Heap + [1] Substate close: handle = 52 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 53 + [1] Reading substate: handle = 292, size = 79, device = Heap + [1] Substate close: handle = 53 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Worktop_drop", auth_zone: NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10") }), input size = 83 + [1] Sending nodes: [NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 54 + [1] Reading substate: handle = 293, size = 119, device = Store + [1] Substate close: handle = 54 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 294, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 1 + [2] Reading substate: handle = 295, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 296, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 297, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 4 + [2] Reading substate: handle = 298, size = 15, device = Heap + [2] Writing substate: handle = 4, size = 15 + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 5 + [2] Reading substate: handle = 299, size = 79, device = Heap + [2] Substate close: handle = 5 + [2] Dropping node: id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c") + [2] Locking substate: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86cffc219412c489fc202d618c133bbe6b7a4f19f66cdb5b2b105091f8c"), handle = 6 + [2] Reading substate: handle = 300, size = 79, device = Heap + [2] Substate close: handle = 6 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10"), handle = 55 + [1] Reading substate: handle = 301, size = 151, device = Heap + [1] Writing substate: handle = 55, size = 151 + [1] Substate close: handle = 55 + [1] Dropping node: id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10") + [1] Locking substate: node id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8305dfa7742a66ce8c8c299cfdeb6f597b44dd381fb28cb808a72e2cf10"), handle = 56 + [1] Reading substate: handle = 302, size = 80, device = Heap + [1] Substate close: handle = 56 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 57 +[0] Locking substate: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), handle = 1 +[0] Reading substate: handle = 303, size = 29, device = Heap +[0] Writing substate: handle = 1, size = 29 +[0] Substate close: handle = 1 +[0] Dropping node: id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf") +[0] Locking substate: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8b75a17dbf1a722fb4d9e2e24afa21d706328670ca62120dcf93e9580cf"), handle = 2 +[0] Reading substate: handle = 304, size = 80, device = Heap +[0] Substate close: handle = 2 +-------------------------------------------------Interpretation Results------------------------------------------------- +Ok([CallReturn([92, 33, 0]), CallReturn([92, 144, 248, 166, 13, 6, 110, 177, 182, 10, 74, 27, 137, 152, 68, 152, 76, 143, 254, 210, 45, 119, 131, 236, 118, 33, 246, 248, 201, 222, 133, 129]), CallReturn([92, 33, 0])]) +------------------------------------------------Execution Cost Breakdown------------------------------------------------ +AfterInvoke : 524 +AllocateNodeId : 1843 +BeforeInvoke : 1744 +CloseSubstate : 39345 +CreateNode : 16554 +DropNode : 28158 +EmitEvent : 2860 +LockFee : 500 +MarkSubstateAsTransient : 165 +OpenSubstate::GlobalAccount : 366729 +OpenSubstate::GlobalConsensusManager : 43783 +OpenSubstate::GlobalFungibleResourceManager : 172963 +OpenSubstate::GlobalGenericComponent : 47373 +OpenSubstate::GlobalPackage : 2843483 +OpenSubstate::InternalFungibleVault : 106652 +OpenSubstate::InternalGenericComponent : 48684 +OpenSubstate::InternalKeyValueStore : 202765 +PinNode : 216 +PrepareWasmCode : 707732 +QueryActor : 2500 +QueryTransactionHash : 500 +ReadSubstate : 868301 +RunNativeCode::Worktop_drain : 11224 +RunNativeCode::Worktop_drop : 17918 +RunNativeCode::Worktop_put : 29033 +RunNativeCode::create_empty_vault_FungibleResourceManager : 35570 +RunNativeCode::get_amount_FungibleBucket : 22032 +RunNativeCode::get_amount_FungibleVault : 28902 +RunNativeCode::get_current_epoch : 13363 +RunNativeCode::lock_fee : 45243 +RunNativeCode::put_FungibleVault : 24554 +RunNativeCode::take_FungibleVault : 42457 +RunNativeCode::try_deposit_batch_or_abort : 121257 +RunWasmCode::Faucet_free : 34815 +RunWasmCode::Faucet_lock_fee : 24589 +ValidateTxPayload : 7440 +VerifyTxSignatures : 7000 +WriteSubstate : 11030 +----------------------------------------------Finalization Cost Breakdown----------------------------------------------- +CommitEvents : 25045 +CommitLogs : 0 +CommitStateUpdates::GlobalAccount : 100011 +CommitStateUpdates::GlobalGenericComponent : 100018 +CommitStateUpdates::InternalFungibleVault : 300047 +CommitStateUpdates::InternalKeyValueStore : 100005 +------------------------------------------------------Fee Summary------------------------------------------------------- +Execution Cost Units Consumed : 5979801 +Finalization Cost Units Consumed : 625126 +Execution Cost in XRD : 0.29899005 +Finalization Cost in XRD : 0.0312563 +Tipping Cost in XRD : 0 +Storage Cost in XRD : 0.09746551346 +Royalty Costs in XRD : 0 +----------------------------------------------------Application Logs---------------------------------------------------- +--------------------------------------------------------Outcome--------------------------------------------------------- +Success +---------------------------------------------------------Finish--------------------------------------------------------- +-------------------------------------------------------Executable------------------------------------------------------- +Intent hash: 8dd1c8b2b20ef56c53586bf34b6d3c5503222e77f6f576491dcdfed3296cb92d +Payload size: 365 +Transaction costing parameters: TransactionCostingParameters { tip_percentage: 0, free_credit_in_xrd: 0, abort_when_loan_repaid: false } +Pre-allocated addresses: [] +Blobs: [] +References: {Reference(c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6), Reference(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6), Reference(860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6), Reference(c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42)} +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) +[0] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 +[0] Reading substate: handle = 0, size = 23, device = Store +[0] Substate close: handle = 0 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6):, ident: "run", auth_zone: NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc") }), input size = 555 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42")] + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 + [1] Reading substate: handle = 1, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 1 + [1] Reading substate: handle = 2, size = 217, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 188, 12, 232, 110, 91, 201, 19, 105, 224, 156, 182, 16, 65, 0, 4, 91, 34, 141, 57, 124, 72, 190, 253, 39, 12, 2, 0, 223, 61, 42, 174, 216]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 2 + [1] Reading substate: handle = 3, size = 396, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 3 + [1] Reading substate: handle = 4, size = 18, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 4 + [1] Reading substate: handle = 5, size = 26, device = Store + [1] Substate close: handle = 4 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "Worktop"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [1] Reading substate: handle = 6, size = 118, device = Store + [1] Substate close: handle = 5 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [1] Reading substate: handle = 7, size = 118, device = Store + [1] Substate close: handle = 6 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [1] Reading substate: handle = 8, size = 118, device = Store + [1] Substate close: handle = 7 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 8 + [1] Reading substate: handle = 9, size = 23, device = Store + [1] Substate close: handle = 8 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 9 + [1] Reading substate: handle = 10, size = 118, device = Store + [1] Substate close: handle = 9 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "lock_fee", auth_zone: NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 66 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 10 + [1] Reading substate: handle = 11, size = 135, device = Store + [1] Substate close: handle = 10 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 11 + [1] Reading substate: handle = 12, size = 18, device = Store + [1] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 13, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 1 + [2] Reading substate: handle = 14, size = 758, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 2 + [2] Reading substate: handle = 15, size = 118, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 128, 7, 14, 113, 85, 210, 236, 154, 85, 184, 199, 157, 142, 233, 63, 232, 62, 65, 104, 91, 230, 250, 92, 148, 239, 54, 181, 160, 141, 34, 35, 83]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 16, size = 350, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 4 + [2] Reading substate: handle = 17, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 5 + [2] Reading substate: handle = 18, size = 176953, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [2] Reading substate: handle = 19, size = 118, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [2] Reading substate: handle = 21, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [2] Reading substate: handle = 22, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), handle = 10 + [2] Reading substate: handle = 23, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [2] Reading substate: handle = 24, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 25, size = 275, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 13 + [2] Reading substate: handle = 26, size = 116, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 27, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 28, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 29, size = 2934, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 2 + [3] Reading substate: handle = 30, size = 116, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 70, 42, 63, 234, 40, 49, 23, 170, 178, 176, 28, 41, 120, 18, 189, 192, 250, 144, 96, 178, 158, 181, 230, 139, 132, 127, 54, 27, 193, 32, 25, 51]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 31, size = 1790, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 32, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 33, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 34, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 35, size = 37, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [3] Reading substate: handle = 36, size = 116, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Substate close: handle = 9 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), handle = 15 + [2] Reading substate: handle = 38, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58") + [2] Locking substate: node id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f81085906fbe146049d6da98c56adb7d9c3a37cff53dcbe95d05866a8a58"), handle = 16 + [2] Reading substate: handle = 39, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 40, size = 2218, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 18 + [2] Reading substate: handle = 41, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 42, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), handle = 20 + [2] Reading substate: handle = 43, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 21 + [2] Reading substate: handle = 44, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 45, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 46, size = 18, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "lock_fee", auth_zone: NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 47, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 48, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 49, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 50, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 51, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 52, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 53, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 54, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 55, size = 116, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 56, size = 145, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 9 + [3] Reading substate: handle = 57, size = 2925, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 58, size = 14, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [3] Reading substate: handle = 59, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE | UNMODIFIED_BASE | FORCE_WRITE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 12 + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), handle = 25 + [2] Reading substate: handle = 61, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc") + [2] Locking substate: node id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8876ff21fab397ae67aef2ee8f6d513c89346e6f061654ff7fb0eefb0cc"), handle = 26 + [2] Reading substate: handle = 62, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 63, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 28 + [2] Reading substate: handle = 64, size = 111, device = Store + [2] Substate close: handle = 28 + [2] Writing substate: handle = 7, size = 73 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), handle = 12 + [1] Reading substate: handle = 65, size = 151, device = Heap + [1] Writing substate: handle = 12, size = 151 + [1] Substate close: handle = 12 + [1] Dropping node: id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a") + [1] Locking substate: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f850d7c3c503086a0d964f16b881b5d272565cdb9e1a4aa57e247510ba9a"), handle = 13 + [1] Reading substate: handle = 66, size = 80, device = Heap + [1] Substate close: handle = 13 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 14 + [1] Reading substate: handle = 67, size = 118, device = Store + [1] Substate close: handle = 14 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 15 + [1] Reading substate: handle = 68, size = 118, device = Store + [1] Substate close: handle = 15 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 16 + [1] Reading substate: handle = 69, size = 118, device = Store + [1] Substate close: handle = 16 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 17 + [1] Reading substate: handle = 70, size = 118, device = Store + [1] Substate close: handle = 17 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "free", auth_zone: NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 37 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 18 + [1] Reading substate: handle = 71, size = 135, device = Store + [1] Substate close: handle = 18 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 19 + [1] Reading substate: handle = 72, size = 18, device = Store + [1] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 73, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 1 + [2] Reading substate: handle = 74, size = 118, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 2 + [2] Reading substate: handle = 75, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 76, size = 176953, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 4 + [2] Reading substate: handle = 77, size = 118, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [2] Reading substate: handle = 78, size = 73, device = Store + [2] Reading substate: handle = 78, size = 73, device = Store + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 6 + [2] Reading substate: handle = 79, size = 128, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 7 + [2] Reading substate: handle = 80, size = 128, device = Store + [2] Substate close: handle = 7 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 8 + [2] Reading substate: handle = 81, size = 128, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 9 + [2] Reading substate: handle = 82, size = 231, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 10 + [2] Reading substate: handle = 83, size = 128, device = Store + [2] Substate close: handle = 10 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), ident: "get_current_epoch", auth_zone: NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 50 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 11 + [2] Reading substate: handle = 84, size = 135, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 12 + [2] Reading substate: handle = 85, size = 18, device = Store + [2] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 0 + [3] Reading substate: handle = 86, size = 138, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 1 + [3] Reading substate: handle = 87, size = 2076, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 2 + [3] Reading substate: handle = 88, size = 128, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 216, 81, 8, 119, 223, 29, 130, 15, 71, 82, 179, 192, 51, 186, 246, 86, 246, 46, 14, 97, 39, 49, 113, 136, 101, 208, 72, 185, 209, 99, 0, 179]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 3 + [3] Reading substate: handle = 89, size = 3416, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 4 + [3] Reading substate: handle = 90, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 5 + [3] Reading substate: handle = 91, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 6 + [3] Reading substate: handle = 92, size = 128, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 7 + [3] Reading substate: handle = 93, size = 57, device = Store + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 10 + [2] Locking substate: node id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), handle = 13 + [2] Reading substate: handle = 94, size = 127, device = Heap + [2] Writing substate: handle = 13, size = 127 + [2] Substate close: handle = 13 + [2] Dropping node: id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181") + [2] Locking substate: node id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86e626b0d521607529efc9b16b5f1384ea711199676c9eaf9c7409b7181"), handle = 14 + [2] Reading substate: handle = 95, size = 80, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 15 + [2] Reading substate: handle = 96, size = 111, device = Store + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(64), substate_key = Map([92, 32, 7, 32, 141, 209, 200, 178, 178, 14, 245, 108, 83, 88, 107, 243, 75, 109, 60, 85, 3, 34, 46, 119, 246, 245, 118, 73, 29, 205, 254, 211, 41, 108, 185, 45]), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 16 + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 17 + [2] Reading substate: handle = 98, size = 111, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(64), substate_key = Map([92, 32, 7, 32, 141, 209, 200, 178, 178, 14, 245, 108, 83, 88, 107, 243, 75, 109, 60, 85, 3, 34, 46, 119, 246, 245, 118, 73, 29, 205, 254, 211, 41, 108, 185, 45]), flags = MUTABLE + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 18 + [2] Writing substate: handle = 18, size = 21 + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 100, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 20 + [2] Reading substate: handle = 101, size = 116, device = Store + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), handle = 21 + [2] Reading substate: handle = 102, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 103, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 23 + [2] Reading substate: handle = 104, size = 116, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 105, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 106, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 107, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 108, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 109, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 110, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 5 + [3] Reading substate: handle = 111, size = 37, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 112, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), handle = 25 + [2] Reading substate: handle = 114, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774") + [2] Locking substate: node id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bd2333630248b3e688c93892cec2d199bd917b8a4e019864a552e1f774"), handle = 26 + [2] Reading substate: handle = 115, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 116, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 28 + [2] Reading substate: handle = 117, size = 116, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), handle = 29 + [2] Reading substate: handle = 118, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 29 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 30 + [2] Reading substate: handle = 119, size = 116, device = Store + [2] Substate close: handle = 30 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 31 + [2] Reading substate: handle = 120, size = 116, device = Store + [2] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 32 + [2] Reading substate: handle = 121, size = 18, device = Store + [2] Substate close: handle = 32 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "take", auth_zone: NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 33 + [2] Reading substate: handle = 122, size = 119, device = Store + [2] Substate close: handle = 33 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 123, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 124, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 125, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 126, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 127, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 128, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 129, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 7 + [3] Reading substate: handle = 130, size = 145, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 131, size = 14, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Reading substate: handle = 132, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 10 + [3] Reading substate: handle = 133, size = 37, device = Store + [3] Reading substate: handle = 133, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [3] Reading substate: handle = 134, size = 2072, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 12 + [3] Reading substate: handle = 135, size = 145, device = Store + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 97, 215, 242, 158, 15, 71, 7, 80, 215, 52, 221, 237, 117, 247, 13, 176, 158, 238, 125, 147, 35, 37, 238, 251, 31, 90, 204, 9, 222, 49, 84, 58]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [3] Reading substate: handle = 136, size = 1016, device = Store + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 14 + [3] Reading substate: handle = 137, size = 116, device = Store + [3] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 15 + [3] Reading substate: handle = 138, size = 117, device = Heap + [3] Substate close: handle = 15 + [3] Returning nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 34 + [2] Reading substate: handle = 139, size = 117, device = Heap + [2] Substate close: handle = 34 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), handle = 35 + [2] Reading substate: handle = 140, size = 182, device = Heap + [2] Writing substate: handle = 35, size = 182 + [2] Substate close: handle = 35 + [2] Dropping node: id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55") + [2] Locking substate: node id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8858f75f3847f9aa0577a765702c2aa5c8003b922b202bbc40497d66e55"), handle = 36 + [2] Reading substate: handle = 141, size = 80, device = Heap + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 37 + [2] Reading substate: handle = 142, size = 116, device = Store + [2] Substate close: handle = 37 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 38 + [2] Reading substate: handle = 143, size = 111, device = Store + [2] Substate close: handle = 38 + [2] Writing substate: handle = 5, size = 73 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 39 + [2] Reading substate: handle = 144, size = 117, device = Heap + [2] Substate close: handle = 39 + [2] Returning nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 20 + [1] Reading substate: handle = 145, size = 117, device = Heap + [1] Substate close: handle = 20 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), handle = 21 + [1] Reading substate: handle = 146, size = 151, device = Heap + [1] Writing substate: handle = 21, size = 151 + [1] Substate close: handle = 21 + [1] Dropping node: id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7") + [1] Locking substate: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8c78a43cf2b06c67b71f68ab81aa004a8ea8a08ef73ceceba02e33059d7"), handle = 22 + [1] Reading substate: handle = 147, size = 80, device = Heap + [1] Substate close: handle = 22 + [1] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 23 + [1] Reading substate: handle = 148, size = 117, device = Heap + [1] Substate close: handle = 23 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 24 + [1] Reading substate: handle = 149, size = 79, device = Heap + [1] Substate close: handle = 24 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 25 + [1] Reading substate: handle = 150, size = 79, device = Heap + [1] Substate close: handle = 25 + [1] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 26 + [1] Reading substate: handle = 151, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 26 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 27 + [1] Reading substate: handle = 152, size = 79, device = Heap + [1] Substate close: handle = 27 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 28 + [1] Reading substate: handle = 153, size = 23, device = Store + [1] Substate close: handle = 28 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 29 + [1] Reading substate: handle = 154, size = 79, device = Heap + [1] Substate close: handle = 29 + [1] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 30 + [1] Reading substate: handle = 155, size = 117, device = Heap + [1] Substate close: handle = 30 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), ident: "Worktop_put", auth_zone: NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 31 + [1] Reading substate: handle = 156, size = 119, device = Store + [1] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 157, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 158, size = 2043, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 2 + [2] Reading substate: handle = 159, size = 79, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 141, 211, 182, 27, 8, 110, 213, 118, 124, 205, 149, 251, 20, 119, 195, 234, 70, 58, 213, 0, 97, 24, 137, 30, 59, 56, 255, 159, 241, 249, 161, 223]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 160, size = 827, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [2] Reading substate: handle = 161, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [2] Reading substate: handle = 162, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 6 + [2] Reading substate: handle = 163, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [2] Reading substate: handle = 164, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 8 + [2] Reading substate: handle = 165, size = 117, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 9 + [2] Reading substate: handle = 166, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), handle = 10 + [2] Reading substate: handle = 167, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 11 + [2] Reading substate: handle = 168, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 169, size = 174, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 13 + [2] Reading substate: handle = 170, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), ident: "get_amount", auth_zone: NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 171, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 172, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 1 + [3] Reading substate: handle = 173, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 174, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 175, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [3] Reading substate: handle = 176, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 5 + [3] Reading substate: handle = 177, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 6 + [3] Reading substate: handle = 178, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [3] Reading substate: handle = 179, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), handle = 15 + [2] Reading substate: handle = 180, size = 91, device = Heap + [2] Writing substate: handle = 15, size = 91 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626") + [2] Locking substate: node id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f80f678fc2b99c5442710b908ce830dada3b3692a2085989eca18daed626"), handle = 16 + [2] Reading substate: handle = 181, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 17 + [2] Reading substate: handle = 182, size = 79, device = Heap + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 18 + [2] Reading substate: handle = 183, size = 15, device = Heap + [2] Reading substate: handle = 183, size = 15, device = Heap + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 19 + [2] Reading substate: handle = 184, size = 145, device = Store + [2] Substate close: handle = 19 + [2] Writing substate: handle = 18, size = 75 + [2] Substate close: handle = 18 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), handle = 32 + [1] Reading substate: handle = 185, size = 91, device = Heap + [1] Writing substate: handle = 32, size = 91 + [1] Substate close: handle = 32 + [1] Dropping node: id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908") + [1] Locking substate: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f882d126ba532382d1c179f333ebb3ec8eb1523064d7e61cd52ce48f8908"), handle = 33 + [1] Reading substate: handle = 186, size = 80, device = Heap + [1] Substate close: handle = 33 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 34 + [1] Reading substate: handle = 187, size = 79, device = Heap + [1] Substate close: handle = 34 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 35 + [1] Reading substate: handle = 188, size = 79, device = Heap + [1] Substate close: handle = 35 + [1] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 36 + [1] Reading substate: handle = 189, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 36 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 37 + [1] Reading substate: handle = 190, size = 79, device = Heap + [1] Substate close: handle = 37 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 38 + [1] Reading substate: handle = 191, size = 79, device = Heap + [1] Substate close: handle = 38 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), ident: "Worktop_take", auth_zone: NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 101 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 39 + [1] Reading substate: handle = 192, size = 119, device = Store + [1] Substate close: handle = 39 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 193, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 1 + [2] Reading substate: handle = 194, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 2 + [2] Reading substate: handle = 195, size = 145, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 196, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 197, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 5 + [2] Reading substate: handle = 198, size = 79, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 6 + [2] Reading substate: handle = 199, size = 75, device = Heap + [2] Reading substate: handle = 199, size = 75, device = Heap + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [2] Reading substate: handle = 200, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 8 + [2] Reading substate: handle = 201, size = 117, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), handle = 9 + [2] Reading substate: handle = 202, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 10 + [2] Reading substate: handle = 203, size = 117, device = Heap + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 11 + [2] Reading substate: handle = 204, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), ident: "get_amount", auth_zone: NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 205, size = 119, device = Store + [2] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 206, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 1 + [3] Reading substate: handle = 207, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 208, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 209, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [3] Reading substate: handle = 210, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 5 + [3] Reading substate: handle = 211, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 6 + [3] Reading substate: handle = 212, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [3] Reading substate: handle = 213, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), handle = 13 + [2] Reading substate: handle = 214, size = 91, device = Heap + [2] Writing substate: handle = 13, size = 91 + [2] Substate close: handle = 13 + [2] Dropping node: id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1") + [2] Locking substate: node id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8ee4ef5b2c21022b20ad30341fe8a0b21d7ec2105936597edf0c0d9b4c1"), handle = 14 + [2] Reading substate: handle = 215, size = 80, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 15 + [2] Reading substate: handle = 216, size = 117, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 16 + [2] Reading substate: handle = 217, size = 117, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), handle = 17 + [2] Reading substate: handle = 218, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 18 + [2] Reading substate: handle = 219, size = 117, device = Heap + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 19 + [2] Reading substate: handle = 220, size = 117, device = Heap + [2] Substate close: handle = 19 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), ident: "take", auth_zone: NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 20 + [2] Reading substate: handle = 221, size = 119, device = Store + [2] Substate close: handle = 20 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 222, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 1 + [3] Reading substate: handle = 223, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 224, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 225, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [3] Reading substate: handle = 226, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 227, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 228, size = 14, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [3] Reading substate: handle = 229, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 8 + [3] Reading substate: handle = 230, size = 34, device = Heap + [3] Reading substate: handle = 230, size = 34, device = Heap + [3] Writing substate: handle = 8, size = 34 + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 9 + [3] Reading substate: handle = 231, size = 145, device = Store + [3] Substate close: handle = 9 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 10 + [3] Reading substate: handle = 232, size = 117, device = Heap + [3] Substate close: handle = 10 + [3] Returning nodes: [NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 21 + [2] Reading substate: handle = 233, size = 117, device = Heap + [2] Substate close: handle = 21 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), handle = 22 + [2] Reading substate: handle = 234, size = 91, device = Heap + [2] Writing substate: handle = 22, size = 91 + [2] Substate close: handle = 22 + [2] Dropping node: id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6") + [2] Locking substate: node id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8252224a0e9337f11d1e3b02bc1c3527f4f719c2469de1e2b748d2128d6"), handle = 23 + [2] Reading substate: handle = 235, size = 80, device = Heap + [2] Substate close: handle = 23 + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 24 + [2] Reading substate: handle = 236, size = 117, device = Heap + [2] Substate close: handle = 24 + [2] Returning nodes: [NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 40 + [1] Reading substate: handle = 237, size = 117, device = Heap + [1] Substate close: handle = 40 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), handle = 41 + [1] Reading substate: handle = 238, size = 91, device = Heap + [1] Writing substate: handle = 41, size = 91 + [1] Substate close: handle = 41 + [1] Dropping node: id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3") + [1] Locking substate: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f887d32d5e7f7ce8e1eeb1f7d93db21e172c8b808a57245b24926b5c2fc3"), handle = 42 + [1] Reading substate: handle = 239, size = 80, device = Heap + [1] Substate close: handle = 42 + [1] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 43 + [1] Reading substate: handle = 240, size = 128, device = Store + [1] Substate close: handle = 43 + [1] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 44 + [1] Reading substate: handle = 241, size = 128, device = Store + [1] Substate close: handle = 44 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 45 + [1] Reading substate: handle = 242, size = 128, device = Store + [1] Substate close: handle = 45 + [1] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 46 + [1] Reading substate: handle = 243, size = 128, device = Store + [1] Substate close: handle = 46 + [1] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 47 + [1] Reading substate: handle = 244, size = 117, device = Heap + [1] Substate close: handle = 47 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), ident: "create_validator", auth_zone: NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 141 + [1] Sending nodes: [NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 48 + [1] Reading substate: handle = 245, size = 135, device = Store + [1] Substate close: handle = 48 + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 49 + [1] Reading substate: handle = 246, size = 18, device = Store + [1] Substate close: handle = 49 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 0 + [2] Reading substate: handle = 247, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 1 + [2] Reading substate: handle = 248, size = 128, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 2 + [2] Reading substate: handle = 249, size = 117, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 3 + [2] Reading substate: handle = 250, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 4 + [2] Reading substate: handle = 251, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 5 + [2] Reading substate: handle = 252, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 6 + [2] Reading substate: handle = 253, size = 128, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 7 + [2] Reading substate: handle = 254, size = 57, device = Store + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 8 + [2] Reading substate: handle = 255, size = 128, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 9 + [2] Reading substate: handle = 256, size = 152, device = Store + [2] Substate close: handle = 9 + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 10 + [2] Reading substate: handle = 257, size = 117, device = Heap + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 11 + [2] Reading substate: handle = 258, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), handle = 12 + [2] Reading substate: handle = 259, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 13 + [2] Reading substate: handle = 260, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 14 + [2] Reading substate: handle = 261, size = 117, device = Heap + [2] Substate close: handle = 14 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), ident: "take", auth_zone: NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 15 + [2] Reading substate: handle = 262, size = 119, device = Store + [2] Substate close: handle = 15 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 263, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 1 + [3] Reading substate: handle = 264, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 265, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 266, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 4 + [3] Reading substate: handle = 267, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 268, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 269, size = 14, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 7 + [3] Reading substate: handle = 270, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 8 + [3] Reading substate: handle = 271, size = 34, device = Heap + [3] Reading substate: handle = 271, size = 34, device = Heap + [3] Writing substate: handle = 8, size = 34 + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 9 + [3] Reading substate: handle = 272, size = 145, device = Store + [3] Substate close: handle = 9 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 10 + [3] Reading substate: handle = 273, size = 117, device = Heap + [3] Substate close: handle = 10 + [3] Returning nodes: [NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 16 + [2] Reading substate: handle = 274, size = 117, device = Heap + [2] Substate close: handle = 16 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), handle = 17 + [2] Reading substate: handle = 275, size = 182, device = Heap + [2] Writing substate: handle = 17, size = 182 + [2] Substate close: handle = 17 + [2] Dropping node: id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744") + [2] Locking substate: node id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86d81fa4409290cdb0c1b173f142aa50a1db69761cba00eb6759d03f744"), handle = 18 + [2] Reading substate: handle = 276, size = 80, device = Heap + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 19 + [2] Reading substate: handle = 277, size = 117, device = Heap + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 20 + [2] Reading substate: handle = 278, size = 145, device = Store + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 21 + [2] Reading substate: handle = 279, size = 145, device = Store + [2] Substate close: handle = 21 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 22 + [2] Reading substate: handle = 280, size = 145, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 23 + [2] Reading substate: handle = 281, size = 587, device = Store + [2] Substate close: handle = 23 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 24 + [2] Reading substate: handle = 282, size = 145, device = Store + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 6, 98, 117, 114, 110, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 25 + [2] Reading substate: handle = 283, size = 95, device = Store + [2] Substate close: handle = 25 + [2] Locking substate: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), handle = 26 + [2] Reading substate: handle = 284, size = 127, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 27 + [2] Reading substate: handle = 285, size = 117, device = Heap + [2] Substate close: handle = 27 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), ident: "burn", auth_zone: NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 68 + [2] Sending nodes: [NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 28 + [2] Reading substate: handle = 286, size = 119, device = Store + [2] Substate close: handle = 28 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 287, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 288, size = 145, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 186, 39, 204, 21, 88, 132, 214, 225, 170, 122, 65, 52, 111, 216, 193, 31, 24, 204, 153, 119, 86, 83, 202, 239, 31, 211, 69, 93, 98, 95, 209, 71]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 289, size = 4925, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 3 + [3] Reading substate: handle = 290, size = 117, device = Heap + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 291, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 292, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 293, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 7 + [3] Reading substate: handle = 294, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81") + [3] Locking substate: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a3fd1111b7f07f692319f4a447e49c7df87882622530fefa1ba176bd81"), handle = 8 + [3] Reading substate: handle = 295, size = 117, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 9 + [3] Reading substate: handle = 296, size = 145, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 297, size = 145, device = Store + [3] Substate close: handle = 10 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), handle = 29 + [2] Reading substate: handle = 298, size = 127, device = Heap + [2] Writing substate: handle = 29, size = 127 + [2] Substate close: handle = 29 + [2] Dropping node: id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7") + [2] Locking substate: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f889c6a74b13ad9120c34448f77af6aa934d0f695b219d0db736dbe5a9d7"), handle = 30 + [2] Reading substate: handle = 299, size = 80, device = Heap + [2] Substate close: handle = 30 + [2] Allocating node id: entity_type = GlobalValidator + [2] Creating node: id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), type = Some(GlobalValidator), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[3](Tuple(Tuple(Reference("NodeId(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6)"), "Validator")))}) + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[2](Reference("NodeId(83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813)"))}) + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 31 + [2] Reading substate: handle = 300, size = 145, device = Store + [2] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 32 + [2] Reading substate: handle = 301, size = 145, device = Store + [2] Substate close: handle = 32 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 33 + [2] Reading substate: handle = 302, size = 145, device = Store + [2] Substate close: handle = 33 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 34 + [2] Reading substate: handle = 303, size = 145, device = Store + [2] Substate close: handle = 34 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), ident: "create_empty_vault", auth_zone: NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 35 + [2] Reading substate: handle = 304, size = 119, device = Store + [2] Substate close: handle = 35 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 305, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 306, size = 145, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 307, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 308, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 4 + [3] Reading substate: handle = 309, size = 145, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 310, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 311, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 7 + [3] Reading substate: handle = 312, size = 116, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 36 + [2] Reading substate: handle = 313, size = 116, device = Heap + [2] Substate close: handle = 36 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), handle = 37 + [2] Reading substate: handle = 314, size = 127, device = Heap + [2] Writing substate: handle = 37, size = 127 + [2] Substate close: handle = 37 + [2] Dropping node: id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef") + [2] Locking substate: node id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84ce8fb5743aa547d63be4934361422e9b4dfc780a5538abb8688a36cef"), handle = 38 + [2] Reading substate: handle = 315, size = 80, device = Heap + [2] Substate close: handle = 38 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 39 + [2] Reading substate: handle = 316, size = 145, device = Store + [2] Substate close: handle = 39 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 40 + [2] Reading substate: handle = 317, size = 145, device = Store + [2] Substate close: handle = 40 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 41 + [2] Reading substate: handle = 318, size = 145, device = Store + [2] Substate close: handle = 41 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 42 + [2] Reading substate: handle = 319, size = 145, device = Store + [2] Substate close: handle = 42 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), ident: "create_empty_vault", auth_zone: NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 43 + [2] Reading substate: handle = 320, size = 119, device = Store + [2] Substate close: handle = 43 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 321, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 322, size = 145, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 323, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 324, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 4 + [3] Reading substate: handle = 325, size = 145, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 326, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 327, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716"), handle = 7 + [3] Reading substate: handle = 328, size = 116, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58b2831bd25d5dd2c01c5d8a13ebd9ce35c274a8f95452b5b17144c45716"), handle = 44 + [2] Reading substate: handle = 329, size = 116, device = Heap + [2] Substate close: handle = 44 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), handle = 45 + [2] Reading substate: handle = 330, size = 127, device = Heap + [2] Writing substate: handle = 45, size = 127 + [2] Substate close: handle = 45 + [2] Dropping node: id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6") + [2] Locking substate: node id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8fb3710e10fc0dcb7d3f6a3e87f572c73bda5e184c46b383ab85a8fa6b6"), handle = 46 + [2] Reading substate: handle = 331, size = 80, device = Heap + [2] Substate close: handle = 46 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 26, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 47 + [2] Reading substate: handle = 332, size = 867, device = Store + [2] Substate close: handle = 47 + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "create", auth_zone: NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8") }), input size = 815 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 48 + [2] Reading substate: handle = 333, size = 119, device = Store + [2] Substate close: handle = 48 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 26, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 334, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 26, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 335, size = 4409, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 19, 188, 193, 225, 208, 85, 228, 105, 147, 105, 72, 181, 29, 54, 33, 224, 95, 129, 48, 144, 18, 49, 160, 132, 123, 143, 241, 110, 238, 5, 135, 89]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 336, size = 10493, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 3 + [3] Reading substate: handle = 337, size = 182, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 4 + [3] Reading substate: handle = 338, size = 182, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 339, size = 182, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 6 + [3] Reading substate: handle = 340, size = 50, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 7 + [3] Reading substate: handle = 341, size = 18, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 8 + [3] Reading substate: handle = 342, size = 26, device = Store + [3] Substate close: handle = 8 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(1): [Map([92, 32, 7, 32, 73, 66, 102, 62, 159, 61, 58, 78, 9, 203, 120, 208, 61, 128, 63, 155, 141, 95, 203, 47, 33, 224, 72, 148, 176, 62, 193, 113, 201, 152, 181, 153])], PartitionNumber(64): [Field(0), Field(1), Field(2)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleResourceManager"), Tuple(1u32, 0u32, 0u32), Enum::[1], ["track_total_supply", "mint", "burn"], [Enum::[0](Tuple(hex("4942663e9f3d3a4e09cb78d03d803f9b8d5fcb2f21e04894b03ec171c998b599"), Enum::[1](0u64)))]), Enum::[1]))}) + [3] Allocating node id: entity_type = GlobalNonFungibleResourceManager + [3] Creating node: id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), type = Some(GlobalNonFungibleResourceManager), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[3](Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleResourceManager")))}) + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[2](Reference("NodeId(9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09)"))}) + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 9 + [3] Reading substate: handle = 343, size = 23, device = Store + [3] Substate close: handle = 9 + [3] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6):, ident: "create", auth_zone: NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66") }), input size = 588 + [3] Sending nodes: [] + [3] Sending refs: [NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6")] + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 10 + [3] Reading substate: handle = 344, size = 119, device = Store + [3] Substate close: handle = 10 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 0 + [4] Reading substate: handle = 345, size = 18, device = Store + [4] Substate close: handle = 0 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 1 + [4] Reading substate: handle = 346, size = 1306, device = Store + [4] Substate close: handle = 1 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 160, 108, 22, 202, 162, 110, 47, 188, 1, 186, 43, 159, 229, 100, 163, 240, 45, 143, 66, 108, 69, 128, 252, 175, 235, 223, 245, 70, 79, 239, 189, 232]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 2 + [4] Reading substate: handle = 347, size = 1092, device = Store + [4] Substate close: handle = 2 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 3 + [4] Reading substate: handle = 348, size = 182, device = Store + [4] Substate close: handle = 3 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 4 + [4] Reading substate: handle = 349, size = 182, device = Store + [4] Substate close: handle = 4 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 5 + [4] Reading substate: handle = 350, size = 182, device = Store + [4] Substate close: handle = 5 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 6 + [4] Reading substate: handle = 351, size = 18, device = Store + [4] Substate close: handle = 6 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 7 + [4] Reading substate: handle = 352, size = 26, device = Store + [4] Substate close: handle = 7 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 8 + [4] Reading substate: handle = 353, size = 182, device = Store + [4] Substate close: handle = 8 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 9 + [4] Reading substate: handle = 354, size = 182, device = Store + [4] Substate close: handle = 9 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 10 + [4] Reading substate: handle = 355, size = 182, device = Store + [4] Substate close: handle = 10 + [4] Allocating node id: entity_type = InternalGenericComponent + [4] Creating node: id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)], PartitionNumber(65): [Map([92, 33, 2, 34, 0, 0, 12, 6, 98, 117, 114, 110, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 6, 109, 105, 110, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 7, 102, 114, 101, 101, 122, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 8, 114, 101, 99, 97, 108, 108, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 14, 98, 117, 114, 110, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 14, 109, 105, 110, 116, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 15, 102, 114, 101, 101, 122, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 16, 114, 101, 99, 97, 108, 108, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 17, 100, 101, 112, 111, 115, 105, 116, 111, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 18, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 25, 110, 111, 110, 95, 102, 117, 110, 103, 105, 98, 108, 101, 95, 100, 97, 116, 97, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 33, 110, 111, 110, 95, 102, 117, 110, 103, 105, 98, 108, 101, 95, 100, 97, 116, 97, 95, 117, 112, 100, 97, 116, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6)"), "RoleAssignment"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [4] Returning nodes: [NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707")] + [4] Returning refs: [] + [3] Locking substate: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), handle = 11 + [3] Reading substate: handle = 356, size = 86, device = Heap + [3] Substate close: handle = 11 + [3] Exiting: output size = 32 + [3] Locking substate: node id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66"), handle = 12 + [3] Reading substate: handle = 357, size = 157, device = Heap + [3] Writing substate: handle = 12, size = 157 + [3] Substate close: handle = 12 + [3] Dropping node: id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66") + [3] Locking substate: node id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f81520ed54b1469cb6507110d0b5d1eca59dcf1fd77311de9a53868dab66"), handle = 13 + [3] Reading substate: handle = 358, size = 80, device = Heap + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 14 + [3] Reading substate: handle = 359, size = 305, device = Store + [3] Substate close: handle = 14 + [3] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6):, ident: "create_with_data", auth_zone: NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b") }), input size = 373 + [3] Sending nodes: [] + [3] Sending refs: [NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 15 + [3] Reading substate: handle = 360, size = 119, device = Store + [3] Substate close: handle = 15 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 0 + [4] Reading substate: handle = 361, size = 18, device = Store + [4] Substate close: handle = 0 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 1 + [4] Reading substate: handle = 362, size = 1326, device = Store + [4] Substate close: handle = 1 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 7, 191, 229, 137, 28, 208, 83, 148, 250, 48, 198, 166, 127, 171, 146, 8, 100, 47, 57, 102, 92, 169, 3, 249, 64, 90, 255, 107, 111, 239, 179, 106]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 2 + [4] Reading substate: handle = 363, size = 1967, device = Store + [4] Substate close: handle = 2 + [4] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 3 + [4] Reading substate: handle = 364, size = 50, device = Store + [4] Substate close: handle = 3 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 4 + [4] Reading substate: handle = 365, size = 18, device = Store + [4] Substate close: handle = 4 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 5 + [4] Reading substate: handle = 366, size = 26, device = Store + [4] Substate close: handle = 5 + [4] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 6 + [4] Reading substate: handle = 367, size = 50, device = Store + [4] Substate close: handle = 6 + [4] Allocating node id: entity_type = InternalGenericComponent + [4] Creating node: id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Map([92, 12, 4, 110, 97, 109, 101]), Map([92, 12, 4, 116, 97, 103, 115]), Map([92, 12, 8, 105, 99, 111, 110, 95, 117, 114, 108]), Map([92, 12, 9, 118, 97, 108, 105, 100, 97, 116, 111, 114]), Map([92, 12, 11, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6)"), "Metadata"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [4] Returning nodes: [NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d")] + [4] Returning refs: [] + [3] Locking substate: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), handle = 16 + [3] Reading substate: handle = 368, size = 80, device = Heap + [3] Substate close: handle = 16 + [3] Exiting: output size = 32 + [3] Locking substate: node id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b"), handle = 17 + [3] Reading substate: handle = 369, size = 157, device = Heap + [3] Writing substate: handle = 17, size = 157 + [3] Substate close: handle = 17 + [3] Dropping node: id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b") + [3] Locking substate: node id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84716cad59948c2f8b4d845909e9c65585ab60ee7b2d844a4b12f4d4f1b"), handle = 18 + [3] Reading substate: handle = 370, size = 80, device = Heap + [3] Substate close: handle = 18 + [3] Locking substate: node id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839"), handle = 19 + [3] Reading substate: handle = 371, size = 35, device = Heap + [3] Substate close: handle = 19 + [3] Dropping node: id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839") + [3] Locking substate: node id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8143dffc4e097297d221f6cbe58ba43349bca6b0f376c9727c12fe8f839"), handle = 20 + [3] Reading substate: handle = 372, size = 35, device = Heap + [3] Substate close: handle = 20 + [3] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 21 + [3] Reading substate: handle = 373, size = 67, device = Store + [3] Substate close: handle = 21 + [3] Locking substate: node id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14"), handle = 22 + [3] Reading substate: handle = 374, size = 178, device = Heap + [3] Substate close: handle = 22 + [3] Locking substate: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), handle = 23 + [3] Reading substate: handle = 375, size = 86, device = Heap + [3] Substate close: handle = 23 + [3] Locking substate: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), handle = 24 + [3] Reading substate: handle = 376, size = 80, device = Heap + [3] Substate close: handle = 24 + [3] Creating node: id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), type = Some(GlobalNonFungibleResourceManager), substates = {}, module 0 = None + [3] Dropping node: id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14") + [3] Locking substate: node id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8c13889e643d3367886477184fd58bc183020fc1114f48a6a14180eae14"), handle = 25 + [3] Reading substate: handle = 377, size = 178, device = Heap + [3] Substate close: handle = 25 + [3] Dropping node: id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707") + [3] Locking substate: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8c14ea6157b570650ab53dccceca6eb36a09d343584824cb20887a9c707"), handle = 26 + [3] Reading substate: handle = 378, size = 86, device = Heap + [3] Substate close: handle = 26 + [3] Dropping node: id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d") + [3] Locking substate: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f834235af4f44555a749b6f8519366665ef9a2fa25277df6649b9f52c80d"), handle = 27 + [3] Reading substate: handle = 379, size = 80, device = Heap + [3] Substate close: handle = 27 + [3] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 28 + [3] Reading substate: handle = 380, size = 218, device = Store + [3] Substate close: handle = 28 + [3] Returning nodes: [] + [3] Returning refs: [NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09")] + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8"), handle = 49 + [2] Reading substate: handle = 381, size = 127, device = Heap + [2] Writing substate: handle = 49, size = 127 + [2] Substate close: handle = 49 + [2] Dropping node: id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8") + [2] Locking substate: node id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f860f7a93f6bf6447795f61cb0d325b741012801d93fbdc446424c57aca8"), handle = 50 + [2] Reading substate: handle = 382, size = 80, device = Heap + [2] Substate close: handle = 50 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "create", auth_zone: NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be") }), input size = 674 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 51 + [2] Reading substate: handle = 383, size = 119, device = Store + [2] Substate close: handle = 51 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 384, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 385, size = 182, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 2 + [3] Reading substate: handle = 386, size = 182, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 3 + [3] Reading substate: handle = 387, size = 182, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 4 + [3] Reading substate: handle = 388, size = 50, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 389, size = 18, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 6 + [3] Reading substate: handle = 390, size = 26, device = Store + [3] Substate close: handle = 6 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleResourceManager"), Tuple(1u32, 0u32, 0u32), Enum::[1], ["track_total_supply", "mint", "burn"], []), Enum::[1]))}) + [3] Allocating node id: entity_type = GlobalFungibleResourceManager + [3] Creating node: id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), type = Some(GlobalFungibleResourceManager), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[3](Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleResourceManager")))}) + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)]}, module 0 = Some({Field(0): Enum::[2](Reference("NodeId(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a)"))}) + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6):, ident: "create", auth_zone: NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db") }), input size = 518 + [3] Sending nodes: [] + [3] Sending refs: [NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6")] + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 7 + [3] Reading substate: handle = 391, size = 119, device = Store + [3] Substate close: handle = 7 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 0 + [4] Reading substate: handle = 392, size = 18, device = Store + [4] Substate close: handle = 0 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 1 + [4] Reading substate: handle = 393, size = 182, device = Store + [4] Substate close: handle = 1 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 2 + [4] Reading substate: handle = 394, size = 182, device = Store + [4] Substate close: handle = 2 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 3 + [4] Reading substate: handle = 395, size = 182, device = Store + [4] Substate close: handle = 3 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 4 + [4] Reading substate: handle = 396, size = 18, device = Store + [4] Substate close: handle = 4 + [4] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 5 + [4] Reading substate: handle = 397, size = 26, device = Store + [4] Substate close: handle = 5 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 6 + [4] Reading substate: handle = 398, size = 182, device = Store + [4] Substate close: handle = 6 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 7 + [4] Reading substate: handle = 399, size = 182, device = Store + [4] Substate close: handle = 7 + [4] Locking substate: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("9a4c6318c6318c647f1ff8cc6318c6318cf7aa347bdfaa51e6318c6318c6"), handle = 8 + [4] Reading substate: handle = 400, size = 182, device = Store + [4] Substate close: handle = 8 + [4] Allocating node id: entity_type = InternalGenericComponent + [4] Creating node: id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)], PartitionNumber(65): [Map([92, 33, 2, 34, 0, 0, 12, 6, 98, 117, 114, 110, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 6, 109, 105, 110, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 7, 102, 114, 101, 101, 122, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 8, 114, 101, 99, 97, 108, 108, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 14, 98, 117, 114, 110, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 14, 109, 105, 110, 116, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 15, 102, 114, 101, 101, 122, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 16, 114, 101, 99, 97, 108, 108, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 17, 100, 101, 112, 111, 115, 105, 116, 111, 114, 95, 117, 112, 100, 97, 116, 101, 114]), Map([92, 33, 2, 34, 0, 0, 12, 18, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114, 95, 117, 112, 100, 97, 116, 101, 114])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6)"), "RoleAssignment"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [4] Returning nodes: [NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b")] + [4] Returning refs: [] + [3] Locking substate: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), handle = 8 + [3] Reading substate: handle = 401, size = 86, device = Heap + [3] Substate close: handle = 8 + [3] Exiting: output size = 32 + [3] Locking substate: node id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db"), handle = 9 + [3] Reading substate: handle = 402, size = 154, device = Heap + [3] Writing substate: handle = 9, size = 154 + [3] Substate close: handle = 9 + [3] Dropping node: id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db") + [3] Locking substate: node id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8635794c6cd75f96b4feadb182782863a840453633f732c633adc2f11db"), handle = 10 + [3] Reading substate: handle = 403, size = 80, device = Heap + [3] Substate close: handle = 10 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6):, ident: "create_with_data", auth_zone: NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb") }), input size = 371 + [3] Sending nodes: [] + [3] Sending refs: [NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 11 + [3] Reading substate: handle = 404, size = 119, device = Store + [3] Substate close: handle = 11 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 0 + [4] Reading substate: handle = 405, size = 18, device = Store + [4] Substate close: handle = 0 + [4] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 1 + [4] Reading substate: handle = 406, size = 50, device = Store + [4] Substate close: handle = 1 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 2 + [4] Reading substate: handle = 407, size = 18, device = Store + [4] Substate close: handle = 2 + [4] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [4] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 3 + [4] Reading substate: handle = 408, size = 26, device = Store + [4] Substate close: handle = 3 + [4] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [4] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 4 + [4] Reading substate: handle = 409, size = 50, device = Store + [4] Substate close: handle = 4 + [4] Allocating node id: entity_type = InternalGenericComponent + [4] Creating node: id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Map([92, 12, 4, 110, 97, 109, 101]), Map([92, 12, 4, 116, 97, 103, 115]), Map([92, 12, 8, 105, 99, 111, 110, 95, 117, 114, 108]), Map([92, 12, 9, 118, 97, 108, 105, 100, 97, 116, 111, 114]), Map([92, 12, 11, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6)"), "Metadata"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [4] Returning nodes: [NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823")] + [4] Returning refs: [] + [3] Locking substate: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), handle = 12 + [3] Reading substate: handle = 410, size = 80, device = Heap + [3] Substate close: handle = 12 + [3] Exiting: output size = 32 + [3] Locking substate: node id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb"), handle = 13 + [3] Reading substate: handle = 411, size = 154, device = Heap + [3] Writing substate: handle = 13, size = 154 + [3] Substate close: handle = 13 + [3] Dropping node: id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb") + [3] Locking substate: node id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f87b60b883769fbd973266157dbd9d0288b660649da689224d8e36967adb"), handle = 14 + [3] Reading substate: handle = 412, size = 80, device = Heap + [3] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a"), handle = 15 + [3] Reading substate: handle = 413, size = 35, device = Heap + [3] Substate close: handle = 15 + [3] Dropping node: id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a") + [3] Locking substate: node id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f89a6e4ae590b7f4dc8e5a0b2e37f2da4f042c8ac757183811deb744126a"), handle = 16 + [3] Reading substate: handle = 414, size = 35, device = Heap + [3] Substate close: handle = 16 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 17 + [3] Reading substate: handle = 415, size = 64, device = Store + [3] Substate close: handle = 17 + [3] Locking substate: node id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661"), handle = 18 + [3] Reading substate: handle = 416, size = 124, device = Heap + [3] Substate close: handle = 18 + [3] Locking substate: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), handle = 19 + [3] Reading substate: handle = 417, size = 86, device = Heap + [3] Substate close: handle = 19 + [3] Locking substate: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), handle = 20 + [3] Reading substate: handle = 418, size = 80, device = Heap + [3] Substate close: handle = 20 + [3] Creating node: id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), type = Some(GlobalFungibleResourceManager), substates = {}, module 0 = None + [3] Dropping node: id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661") + [3] Locking substate: node id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8a2b204cb7f98fbfab3159d1949a708a7350a26d07f7acc2bf99100f661"), handle = 21 + [3] Reading substate: handle = 419, size = 124, device = Heap + [3] Substate close: handle = 21 + [3] Dropping node: id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b") + [3] Locking substate: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f805396976a51eb7c304f704819100a9b0b72141de4989e622433ae0c48b"), handle = 22 + [3] Reading substate: handle = 420, size = 86, device = Heap + [3] Substate close: handle = 22 + [3] Dropping node: id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823") + [3] Locking substate: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f80b431feb18ca04704974087814578c8dcb37c7d86a0c148e0e496ee823"), handle = 23 + [3] Reading substate: handle = 421, size = 80, device = Heap + [3] Substate close: handle = 23 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 24 + [3] Reading substate: handle = 422, size = 164, device = Store + [3] Substate close: handle = 24 + [3] Returning nodes: [] + [3] Returning refs: [NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a")] + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be"), handle = 52 + [2] Reading substate: handle = 423, size = 127, device = Heap + [2] Writing substate: handle = 52, size = 127 + [2] Substate close: handle = 52 + [2] Dropping node: id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be") + [2] Locking substate: node id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f844471b9336f3af41a91d6d2039abb5d9860f6c7b17a8865e98707d75be"), handle = 53 + [2] Reading substate: handle = 424, size = 80, device = Heap + [2] Substate close: handle = 53 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 54 + [2] Reading substate: handle = 425, size = 164, device = Store + [2] Substate close: handle = 54 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 55 + [2] Reading substate: handle = 426, size = 164, device = Store + [2] Substate close: handle = 55 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 56 + [2] Reading substate: handle = 427, size = 164, device = Store + [2] Substate close: handle = 56 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 57 + [2] Reading substate: handle = 428, size = 164, device = Store + [2] Substate close: handle = 57 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), ident: "create_empty_vault", auth_zone: NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 58 + [2] Reading substate: handle = 429, size = 119, device = Store + [2] Substate close: handle = 58 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 430, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 431, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 432, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 433, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 4 + [3] Reading substate: handle = 434, size = 164, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 435, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 436, size = 164, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a"), handle = 7 + [3] Reading substate: handle = 437, size = 116, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5879ad39d02fb58f3a9a6b6c002582b3279a6e962d641d1e3ccbc438608a"), handle = 59 + [2] Reading substate: handle = 438, size = 116, device = Heap + [2] Substate close: handle = 59 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), handle = 60 + [2] Reading substate: handle = 439, size = 127, device = Heap + [2] Writing substate: handle = 60, size = 127 + [2] Substate close: handle = 60 + [2] Dropping node: id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc") + [2] Locking substate: node id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c80b0da0c09e5ceabb3f954c58a94a11ee05e6988824e957ab3f271dfc"), handle = 61 + [2] Reading substate: handle = 440, size = 80, device = Heap + [2] Substate close: handle = 61 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 62 + [2] Reading substate: handle = 441, size = 164, device = Store + [2] Substate close: handle = 62 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 63 + [2] Reading substate: handle = 442, size = 164, device = Store + [2] Substate close: handle = 63 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 64 + [2] Reading substate: handle = 443, size = 164, device = Store + [2] Substate close: handle = 64 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 65 + [2] Reading substate: handle = 444, size = 164, device = Store + [2] Substate close: handle = 65 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), ident: "create_empty_vault", auth_zone: NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 66 + [2] Reading substate: handle = 445, size = 119, device = Store + [2] Substate close: handle = 66 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 446, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 447, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 448, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 449, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 4 + [3] Reading substate: handle = 450, size = 164, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 451, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 452, size = 164, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916"), handle = 7 + [3] Reading substate: handle = 453, size = 116, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("583cf49431a942b361ceb87c00e0a3fcc2431e011d7df83bac744c4d4916"), handle = 67 + [2] Reading substate: handle = 454, size = 116, device = Heap + [2] Substate close: handle = 67 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), handle = 68 + [2] Reading substate: handle = 455, size = 127, device = Heap + [2] Writing substate: handle = 68, size = 127 + [2] Substate close: handle = 68 + [2] Dropping node: id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d") + [2] Locking substate: node id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f89c8665dd8935202c5ebb9a2591e835a322811a69188ec32de954a7d75d"), handle = 69 + [2] Reading substate: handle = 456, size = 80, device = Heap + [2] Substate close: handle = 69 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 70 + [2] Reading substate: handle = 457, size = 5034, device = Store + [2] Substate close: handle = 70 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 71 + [2] Reading substate: handle = 458, size = 128, device = Store + [2] Substate close: handle = 71 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 71, 167, 47, 116, 92, 189, 249, 52, 183, 60, 60, 192, 128, 137, 15, 244, 206, 20, 120, 112, 171, 198, 153, 44, 210, 60, 75, 86, 92, 144, 220, 76]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 72 + [2] Reading substate: handle = 459, size = 3204, device = Store + [2] Substate close: handle = 72 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 73 + [2] Reading substate: handle = 460, size = 164, device = Store + [2] Substate close: handle = 73 + [2] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 74 + [2] Reading substate: handle = 461, size = 218, device = Store + [2] Substate close: handle = 74 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6)"), "Validator"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6)")), [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 75 + [2] Reading substate: handle = 462, size = 213, device = Store + [2] Substate close: handle = 75 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 76 + [2] Reading substate: handle = 463, size = 213, device = Store + [2] Substate close: handle = 76 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 77 + [2] Reading substate: handle = 464, size = 213, device = Store + [2] Substate close: handle = 77 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 78 + [2] Reading substate: handle = 465, size = 213, device = Store + [2] Substate close: handle = 78 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 6, 109, 105, 110, 116, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 79 + [2] Reading substate: handle = 466, size = 95, device = Store + [2] Substate close: handle = 79 + [2] Locking substate: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), handle = 80 + [2] Reading substate: handle = 467, size = 127, device = Heap + [2] Substate close: handle = 80 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), ident: "mint", auth_zone: NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint"}, generic_substitutions: [Local(ScopedTypeId(SchemaHash(1c42c310b1a6000a83f8b918d24348c28de6abbef05b8e92e7389a6811f1c668), SchemaLocalIndex(0)))] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 130 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 81 + [2] Reading substate: handle = 468, size = 119, device = Store + [2] Substate close: handle = 81 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 26, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 469, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 1 + [3] Reading substate: handle = 470, size = 213, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 471, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 472, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 4 + [3] Reading substate: handle = 473, size = 213, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 5 + [3] Reading substate: handle = 474, size = 213, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 6 + [3] Reading substate: handle = 475, size = 15, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 7 + [3] Reading substate: handle = 476, size = 213, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 8 + [3] Reading substate: handle = 477, size = 213, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 9 + [3] Reading substate: handle = 478, size = 213, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(2), flags = MUTABLE + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 10 + [3] Reading substate: handle = 479, size = 37, device = Store + [3] Reading substate: handle = 479, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 11 + [3] Reading substate: handle = 480, size = 213, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 192, 2, 30, 131, 249, 92, 242, 96, 12, 30, 174, 134, 43, 139, 70, 208, 252, 23, 149, 121, 222, 180, 196, 191, 126, 117, 243, 62, 232, 50, 75, 40, 19]), flags = MUTABLE + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 12 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 28, 66, 195, 16, 177, 166, 0, 10, 131, 248, 185, 24, 210, 67, 72, 194, 141, 230, 171, 190, 240, 91, 142, 146, 231, 56, 154, 104, 17, 241, 198, 104]), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 13 + [3] Reading substate: handle = 482, size = 94, device = Store + [3] Substate close: handle = 13 + [3] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 14 + [3] Reading substate: handle = 483, size = 50, device = Store + [3] Substate close: handle = 14 + [3] Writing substate: handle = 12, size = 68 + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 17, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 15 + [3] Reading substate: handle = 484, size = 2878, device = Store + [3] Substate close: handle = 15 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 16 + [3] Reading substate: handle = 485, size = 213, device = Store + [3] Substate close: handle = 16 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 114, 62, 107, 246, 215, 152, 172, 200, 99, 189, 90, 195, 87, 77, 252, 235, 195, 179, 34, 118, 235, 11, 171, 87, 127, 234, 20, 80, 67, 62, 65, 125]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [3] Reading substate: handle = 486, size = 1295, device = Store + [3] Substate close: handle = 17 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 18 + [3] Reading substate: handle = 487, size = 213, device = Store + [3] Substate close: handle = 18 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 19 + [3] Reading substate: handle = 488, size = 120, device = Heap + [3] Substate close: handle = 19 + [3] Substate close: handle = 10 + [3] Returning nodes: [NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 82 + [2] Reading substate: handle = 489, size = 120, device = Heap + [2] Substate close: handle = 82 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), handle = 83 + [2] Reading substate: handle = 490, size = 127, device = Heap + [2] Writing substate: handle = 83, size = 127 + [2] Substate close: handle = 83 + [2] Dropping node: id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63") + [2] Locking substate: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8ffe6497e23db4015c2975d164db0ac9eee8577e038000469d607118c63"), handle = 84 + [2] Reading substate: handle = 491, size = 80, device = Heap + [2] Substate close: handle = 84 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6):, ident: "create", auth_zone: NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583") }), input size = 145 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 85 + [2] Reading substate: handle = 492, size = 119, device = Store + [2] Substate close: handle = 85 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 82, 111, 108, 101, 65, 115, 115, 105, 103, 110, 109, 101, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 0 + [3] Reading substate: handle = 493, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 1 + [3] Reading substate: handle = 494, size = 213, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 2 + [3] Reading substate: handle = 495, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 200, 177, 9, 47, 32, 232, 243, 87, 85, 62, 180, 104, 250, 188, 90, 51, 37, 21, 227, 69, 79, 6, 210, 64, 177, 205, 120, 47, 32, 4, 16, 178]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6"), handle = 3 + [3] Reading substate: handle = 496, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 4 + [3] Reading substate: handle = 497, size = 213, device = Store + [3] Substate close: handle = 4 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6e8f9fcc0c6318c6318cf7aa2fad74a29e26318c6318c6)"), "RoleAssignment"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Returning nodes: [NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), handle = 86 + [2] Reading substate: handle = 498, size = 86, device = Heap + [2] Substate close: handle = 86 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583"), handle = 87 + [2] Reading substate: handle = 499, size = 127, device = Heap + [2] Writing substate: handle = 87, size = 127 + [2] Substate close: handle = 87 + [2] Dropping node: id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583") + [2] Locking substate: node id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f822c72bd03ea52dca47d216c3f747bf0f2970cee778b9412763e6ed5583"), handle = 88 + [2] Reading substate: handle = 500, size = 80, device = Heap + [2] Substate close: handle = 88 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 89 + [2] Reading substate: handle = 501, size = 120, device = Heap + [2] Substate close: handle = 89 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 90 + [2] Reading substate: handle = 502, size = 120, device = Heap + [2] Substate close: handle = 90 + [2] Locking substate: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), handle = 91 + [2] Reading substate: handle = 503, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 91 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 92 + [2] Reading substate: handle = 504, size = 120, device = Heap + [2] Substate close: handle = 92 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 17, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 93 + [2] Reading substate: handle = 505, size = 269, device = Store + [2] Substate close: handle = 93 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 94 + [2] Reading substate: handle = 506, size = 120, device = Heap + [2] Substate close: handle = 94 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), ident: "get_non_fungible_local_ids", auth_zone: NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 59 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 95 + [2] Reading substate: handle = 507, size = 119, device = Store + [2] Substate close: handle = 95 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 17, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 508, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 1 + [3] Reading substate: handle = 509, size = 120, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 510, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 511, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 4 + [3] Reading substate: handle = 512, size = 120, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 5 + [3] Reading substate: handle = 513, size = 46, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 6 + [3] Reading substate: handle = 514, size = 120, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [3] Reading substate: handle = 515, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 36 + [2] Locking substate: node id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), handle = 96 + [2] Reading substate: handle = 516, size = 182, device = Heap + [2] Writing substate: handle = 96, size = 182 + [2] Substate close: handle = 96 + [2] Dropping node: id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680") + [2] Locking substate: node id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f87b0de890bd0ce9ec27463f9eb5e718a007d9475b0c5672be7883112680"), handle = 97 + [2] Reading substate: handle = 517, size = 80, device = Heap + [2] Substate close: handle = 97 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6):, ident: "create_with_data", auth_zone: NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6") }), input size = 215 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09")] + [2] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 98 + [2] Reading substate: handle = 518, size = 119, device = Store + [2] Substate close: handle = 98 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 77, 101, 116, 97, 100, 97, 116, 97, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 0 + [3] Reading substate: handle = 519, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 520, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 2 + [3] Reading substate: handle = 521, size = 218, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 3 + [3] Reading substate: handle = 522, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 91, 84, 225, 86, 140, 8, 62, 163, 77, 229, 98, 247, 106, 203, 146, 50, 88, 197, 221, 199, 146, 232, 227, 128, 9, 198, 102, 170, 86, 166, 55, 236]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6"), handle = 4 + [3] Reading substate: handle = 523, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 524, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 6 + [3] Reading substate: handle = 525, size = 218, device = Store + [3] Substate close: handle = 6 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Map([92, 12, 9, 99, 108, 97, 105, 109, 95, 110, 102, 116]), Map([92, 12, 9, 112, 111, 111, 108, 95, 117, 110, 105, 116]), Map([92, 12, 11, 111, 119, 110, 101, 114, 95, 98, 97, 100, 103, 101])]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c6dadbd5f4c6318c6318cf7d155d53de568a6318c6318c6)"), "Metadata"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [3] Returning nodes: [NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), handle = 99 + [2] Reading substate: handle = 526, size = 80, device = Heap + [2] Substate close: handle = 99 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6"), handle = 100 + [2] Reading substate: handle = 527, size = 127, device = Heap + [2] Writing substate: handle = 100, size = 127 + [2] Substate close: handle = 100 + [2] Dropping node: id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6") + [2] Locking substate: node id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8eb576c0c7ead87965b314055417c15a1b42e2c1ce6f6e0a5338f9169e6"), handle = 101 + [2] Reading substate: handle = 528, size = 80, device = Heap + [2] Substate close: handle = 101 + [2] Locking substate: node id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850"), handle = 102 + [2] Reading substate: handle = 529, size = 35, device = Heap + [2] Substate close: handle = 102 + [2] Dropping node: id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850") + [2] Locking substate: node id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8defdb774208683dd22213bc77f4d8e2a04bef49292819f01a37db29850"), handle = 103 + [2] Reading substate: handle = 530, size = 35, device = Heap + [2] Substate close: handle = 103 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 104 + [2] Reading substate: handle = 531, size = 50, device = Store + [2] Substate close: handle = 104 + [2] Locking substate: node id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876"), handle = 105 + [2] Reading substate: handle = 532, size = 112, device = Heap + [2] Substate close: handle = 105 + [2] Locking substate: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), handle = 106 + [2] Reading substate: handle = 533, size = 86, device = Heap + [2] Substate close: handle = 106 + [2] Locking substate: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), handle = 107 + [2] Reading substate: handle = 534, size = 80, device = Heap + [2] Substate close: handle = 107 + [2] Creating node: id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), type = Some(GlobalValidator), substates = {}, module 0 = None + [2] Dropping node: id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876") + [2] Locking substate: node id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a4356722c82ce853f6576e409a820a7685dc9fcd4439f201b29f67f876"), handle = 108 + [2] Reading substate: handle = 535, size = 112, device = Heap + [2] Substate close: handle = 108 + [2] Dropping node: id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f") + [2] Locking substate: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86b84f47fdd1947d1d3cfc8036ffbed4b7453eba79f77d0897c7d84956f"), handle = 109 + [2] Reading substate: handle = 536, size = 86, device = Heap + [2] Substate close: handle = 109 + [2] Dropping node: id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87") + [2] Locking substate: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dc3cf315cf97d2b307c63e90cb639c455b1c7c994ffe9ffe02c17bae87"), handle = 110 + [2] Reading substate: handle = 537, size = 80, device = Heap + [2] Substate close: handle = 110 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 111 + [2] Reading substate: handle = 538, size = 152, device = Store + [2] Substate close: handle = 111 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 112 + [2] Reading substate: handle = 539, size = 120, device = Heap + [2] Substate close: handle = 112 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 113 + [2] Reading substate: handle = 540, size = 117, device = Heap + [2] Substate close: handle = 113 + [2] Returning nodes: [NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [2] Returning refs: [NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813")] + [1] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 50 + [1] Reading substate: handle = 541, size = 120, device = Heap + [1] Substate close: handle = 50 + [1] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 51 + [1] Reading substate: handle = 542, size = 117, device = Heap + [1] Substate close: handle = 51 + [1] Exiting: output size = 96 + [1] Locking substate: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), handle = 52 + [1] Reading substate: handle = 543, size = 151, device = Heap + [1] Writing substate: handle = 52, size = 151 + [1] Substate close: handle = 52 + [1] Dropping node: id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99") + [1] Locking substate: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8987f5bf07390a2dc029c1325fd38d146a47d32945a193fb0c6de193a99"), handle = 53 + [1] Reading substate: handle = 544, size = 80, device = Heap + [1] Substate close: handle = 53 + [1] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 54 + [1] Reading substate: handle = 545, size = 120, device = Heap + [1] Substate close: handle = 54 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 55 + [1] Reading substate: handle = 546, size = 79, device = Heap + [1] Substate close: handle = 55 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 56 + [1] Reading substate: handle = 547, size = 79, device = Heap + [1] Substate close: handle = 56 + [1] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 57 + [1] Reading substate: handle = 548, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 57 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 58 + [1] Reading substate: handle = 549, size = 79, device = Heap + [1] Substate close: handle = 58 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 59 + [1] Reading substate: handle = 550, size = 79, device = Heap + [1] Substate close: handle = 59 + [1] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 60 + [1] Reading substate: handle = 551, size = 120, device = Heap + [1] Substate close: handle = 60 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), ident: "Worktop_put", auth_zone: NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 61 + [1] Reading substate: handle = 552, size = 119, device = Store + [1] Substate close: handle = 61 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 553, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 1 + [2] Reading substate: handle = 554, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 2 + [2] Reading substate: handle = 555, size = 120, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 556, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 557, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 5 + [2] Reading substate: handle = 558, size = 120, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 6 + [2] Reading substate: handle = 559, size = 120, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [2] Reading substate: handle = 560, size = 120, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), handle = 8 + [2] Reading substate: handle = 561, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 9 + [2] Reading substate: handle = 562, size = 120, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 10 + [2] Reading substate: handle = 563, size = 120, device = Heap + [2] Substate close: handle = 10 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), ident: "get_amount", auth_zone: NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [2] Reading substate: handle = 564, size = 119, device = Store + [2] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 17, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 565, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 1 + [3] Reading substate: handle = 566, size = 120, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 567, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 568, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 4 + [3] Reading substate: handle = 569, size = 120, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 5 + [3] Reading substate: handle = 570, size = 46, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 6 + [3] Reading substate: handle = 571, size = 120, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [3] Reading substate: handle = 572, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), handle = 12 + [2] Reading substate: handle = 573, size = 91, device = Heap + [2] Writing substate: handle = 12, size = 91 + [2] Substate close: handle = 12 + [2] Dropping node: id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996") + [2] Locking substate: node id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8841136f8c7375b168990faf45deb1cbd5ef9b658fafbd665554c6d3996"), handle = 13 + [2] Reading substate: handle = 574, size = 80, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 14 + [2] Reading substate: handle = 575, size = 79, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 15 + [2] Reading substate: handle = 576, size = 75, device = Heap + [2] Reading substate: handle = 576, size = 75, device = Heap + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 16 + [2] Reading substate: handle = 577, size = 145, device = Store + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 17 + [2] Reading substate: handle = 578, size = 213, device = Store + [2] Substate close: handle = 17 + [2] Writing substate: handle = 15, size = 135 + [2] Substate close: handle = 15 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), handle = 62 + [1] Reading substate: handle = 579, size = 91, device = Heap + [1] Writing substate: handle = 62, size = 91 + [1] Substate close: handle = 62 + [1] Dropping node: id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4") + [1] Locking substate: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86626a711b74ddf503b7a31019fdd3a210b08043d4f28a207163fb887a4"), handle = 63 + [1] Reading substate: handle = 580, size = 80, device = Heap + [1] Substate close: handle = 63 + [1] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 64 + [1] Reading substate: handle = 581, size = 117, device = Heap + [1] Substate close: handle = 64 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 65 + [1] Reading substate: handle = 582, size = 79, device = Heap + [1] Substate close: handle = 65 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 66 + [1] Reading substate: handle = 583, size = 79, device = Heap + [1] Substate close: handle = 66 + [1] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 67 + [1] Reading substate: handle = 584, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 67 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 68 + [1] Reading substate: handle = 585, size = 79, device = Heap + [1] Substate close: handle = 68 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 69 + [1] Reading substate: handle = 586, size = 79, device = Heap + [1] Substate close: handle = 69 + [1] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 70 + [1] Reading substate: handle = 587, size = 117, device = Heap + [1] Substate close: handle = 70 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), ident: "Worktop_put", auth_zone: NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 71 + [1] Reading substate: handle = 588, size = 119, device = Store + [1] Substate close: handle = 71 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 589, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 1 + [2] Reading substate: handle = 590, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 2 + [2] Reading substate: handle = 591, size = 117, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 592, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 593, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 5 + [2] Reading substate: handle = 594, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 6 + [2] Reading substate: handle = 595, size = 117, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 7 + [2] Reading substate: handle = 596, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), handle = 8 + [2] Reading substate: handle = 597, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 9 + [2] Reading substate: handle = 598, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 10 + [2] Reading substate: handle = 599, size = 117, device = Heap + [2] Substate close: handle = 10 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), ident: "get_amount", auth_zone: NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [2] Reading substate: handle = 600, size = 119, device = Store + [2] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 601, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 1 + [3] Reading substate: handle = 602, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 603, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 604, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 4 + [3] Reading substate: handle = 605, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 5 + [3] Reading substate: handle = 606, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 6 + [3] Reading substate: handle = 607, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 7 + [3] Reading substate: handle = 608, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), handle = 12 + [2] Reading substate: handle = 609, size = 91, device = Heap + [2] Writing substate: handle = 12, size = 91 + [2] Substate close: handle = 12 + [2] Dropping node: id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338") + [2] Locking substate: node id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a47780bf77c1f764e61a5d75ab6097677a0595b3a608497f96de374338"), handle = 13 + [2] Reading substate: handle = 610, size = 80, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 14 + [2] Reading substate: handle = 611, size = 117, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 15 + [2] Reading substate: handle = 612, size = 145, device = Store + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 16 + [2] Reading substate: handle = 613, size = 145, device = Store + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), handle = 17 + [2] Reading substate: handle = 614, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 18 + [2] Reading substate: handle = 615, size = 145, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 19 + [2] Reading substate: handle = 616, size = 145, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 20 + [2] Reading substate: handle = 617, size = 117, device = Heap + [2] Substate close: handle = 20 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), ident: "drop_empty_bucket", auth_zone: NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 81 + [2] Sending nodes: [NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 21 + [2] Reading substate: handle = 618, size = 119, device = Store + [2] Substate close: handle = 21 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 619, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 1 + [3] Reading substate: handle = 620, size = 145, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 2 + [3] Reading substate: handle = 621, size = 117, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 622, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 623, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 5 + [3] Reading substate: handle = 624, size = 117, device = Heap + [3] Substate close: handle = 5 + [3] Dropping node: id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3") + [3] Locking substate: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f82b1812a7e22dffe0ebfe71c4717d72c4271284e2b3920438fbf1a9b7c3"), handle = 6 + [3] Reading substate: handle = 625, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), handle = 22 + [2] Reading substate: handle = 626, size = 60, device = Heap + [2] Writing substate: handle = 22, size = 60 + [2] Substate close: handle = 22 + [2] Dropping node: id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94") + [2] Locking substate: node id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f88a2dc9fb062a007dff89c326093a557a910e52f384fee7e4d62e07dc94"), handle = 23 + [2] Reading substate: handle = 627, size = 80, device = Heap + [2] Substate close: handle = 23 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), handle = 72 + [1] Reading substate: handle = 628, size = 91, device = Heap + [1] Writing substate: handle = 72, size = 91 + [1] Substate close: handle = 72 + [1] Dropping node: id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e") + [1] Locking substate: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f83e7de962b02edbbe24204996b86da5a6d3ff77f1ec1e2d92c8b5f55c1e"), handle = 73 + [1] Reading substate: handle = 629, size = 80, device = Heap + [1] Substate close: handle = 73 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 74 + [1] Reading substate: handle = 630, size = 79, device = Heap + [1] Substate close: handle = 74 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 75 + [1] Reading substate: handle = 631, size = 79, device = Heap + [1] Substate close: handle = 75 + [1] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 76 + [1] Reading substate: handle = 632, size = 29, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 76 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 77 + [1] Reading substate: handle = 633, size = 79, device = Heap + [1] Substate close: handle = 77 + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 78 + [1] Reading substate: handle = 634, size = 79, device = Heap + [1] Substate close: handle = 78 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), ident: "Worktop_drain", auth_zone: NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 46 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 79 + [1] Reading substate: handle = 635, size = 119, device = Store + [1] Substate close: handle = 79 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 636, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 1 + [2] Reading substate: handle = 637, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 638, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 639, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 4 + [2] Reading substate: handle = 640, size = 79, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 5 + [2] Reading substate: handle = 641, size = 135, device = Heap + [2] Reading substate: handle = 641, size = 135, device = Heap + [2] Writing substate: handle = 5, size = 15 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 6 + [2] Reading substate: handle = 642, size = 117, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [2] Reading substate: handle = 643, size = 120, device = Heap + [2] Substate close: handle = 7 + [2] Returning nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 80 + [1] Reading substate: handle = 644, size = 117, device = Heap + [1] Substate close: handle = 80 + [1] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 81 + [1] Reading substate: handle = 645, size = 120, device = Heap + [1] Substate close: handle = 81 + [1] Exiting: output size = 64 + [1] Locking substate: node id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), handle = 82 + [1] Reading substate: handle = 646, size = 91, device = Heap + [1] Writing substate: handle = 82, size = 91 + [1] Substate close: handle = 82 + [1] Dropping node: id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879") + [1] Locking substate: node id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8faf4da8b58f73a3f8724ef91228cb0834b28f8ce62620bb5d86d40e879"), handle = 83 + [1] Reading substate: handle = 647, size = 80, device = Heap + [1] Substate close: handle = 83 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 84 + [1] Reading substate: handle = 648, size = 119, device = Store + [1] Substate close: handle = 84 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 85 + [1] Reading substate: handle = 649, size = 119, device = Store + [1] Substate close: handle = 85 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 86 + [1] Reading substate: handle = 650, size = 119, device = Store + [1] Substate close: handle = 86 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 87 + [1] Reading substate: handle = 651, size = 751, device = Store + [1] Substate close: handle = 87 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 88 + [1] Reading substate: handle = 652, size = 119, device = Store + [1] Substate close: handle = 88 + [1] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 89 + [1] Reading substate: handle = 653, size = 117, device = Heap + [1] Substate close: handle = 89 + [1] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 90 + [1] Reading substate: handle = 654, size = 120, device = Heap + [1] Substate close: handle = 90 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "try_deposit_batch_or_abort", auth_zone: NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 125 + [1] Sending nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 91 + [1] Reading substate: handle = 655, size = 135, device = Store + [1] Substate close: handle = 91 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 92 + [1] Reading substate: handle = 656, size = 18, device = Store + [1] Substate close: handle = 92 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 657, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 1 + [2] Reading substate: handle = 658, size = 6154, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 2 + [2] Reading substate: handle = 659, size = 119, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 165, 69, 16, 38, 77, 189, 19, 224, 62, 167, 214, 227, 17, 45, 95, 58, 136, 201, 189, 218, 230, 107, 149, 105, 213, 222, 56, 27, 169, 68, 122, 138]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 660, size = 3706, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [2] Reading substate: handle = 661, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 5 + [2] Reading substate: handle = 662, size = 120, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 6 + [2] Reading substate: handle = 663, size = 18, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 7 + [2] Reading substate: handle = 664, size = 26, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 8 + [2] Reading substate: handle = 665, size = 117, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 9 + [2] Reading substate: handle = 666, size = 119, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [2] Reading substate: handle = 667, size = 145, device = Store + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(66), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 11 + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 12 + [2] Reading substate: handle = 669, size = 119, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 13 + [2] Reading substate: handle = 670, size = 17, device = Store + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 14 + [2] Reading substate: handle = 671, size = 120, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 15 + [2] Reading substate: handle = 672, size = 119, device = Store + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 16 + [2] Reading substate: handle = 673, size = 213, device = Store + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(66), substate_key = Map([92, 128, 154, 76, 99, 24, 198, 49, 140, 102, 52, 110, 152, 204, 99, 24, 198, 49, 140, 247, 214, 58, 162, 169, 19, 198, 166, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 17 + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 18 + [2] Reading substate: handle = 675, size = 119, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 19 + [2] Reading substate: handle = 676, size = 17, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 20 + [2] Reading substate: handle = 677, size = 117, device = Heap + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 21 + [2] Reading substate: handle = 678, size = 117, device = Heap + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 22 + [2] Reading substate: handle = 679, size = 117, device = Heap + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 23 + [2] Reading substate: handle = 680, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 23 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 24 + [2] Reading substate: handle = 681, size = 117, device = Heap + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 25 + [2] Reading substate: handle = 682, size = 117, device = Heap + [2] Substate close: handle = 25 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), ident: "get_amount", auth_zone: NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 26 + [2] Reading substate: handle = 683, size = 119, device = Store + [2] Substate close: handle = 26 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 684, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 1 + [3] Reading substate: handle = 685, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 686, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 687, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 4 + [3] Reading substate: handle = 688, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 5 + [3] Reading substate: handle = 689, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 6 + [3] Reading substate: handle = 690, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [3] Reading substate: handle = 691, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), handle = 27 + [2] Reading substate: handle = 692, size = 182, device = Heap + [2] Writing substate: handle = 27, size = 182 + [2] Substate close: handle = 27 + [2] Dropping node: id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80") + [2] Locking substate: node id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c12c0e189148b793bf5276c5d91e8194ab2c69ba615f06d4ef78d1aa80"), handle = 28 + [2] Reading substate: handle = 693, size = 80, device = Heap + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 29 + [2] Reading substate: handle = 694, size = 119, device = Store + [2] Substate close: handle = 29 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 30 + [2] Reading substate: handle = 695, size = 145, device = Store + [2] Substate close: handle = 30 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 31 + [2] Reading substate: handle = 696, size = 46, device = Store + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 32 + [2] Reading substate: handle = 697, size = 116, device = Store + [2] Substate close: handle = 32 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 33 + [2] Reading substate: handle = 698, size = 116, device = Store + [2] Substate close: handle = 33 + [2] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 34 + [2] Reading substate: handle = 699, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 34 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 35 + [2] Reading substate: handle = 700, size = 116, device = Store + [2] Substate close: handle = 35 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 36 + [2] Reading substate: handle = 701, size = 116, device = Store + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 37 + [2] Reading substate: handle = 702, size = 18, device = Store + [2] Substate close: handle = 37 + [2] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 38 + [2] Reading substate: handle = 703, size = 117, device = Heap + [2] Substate close: handle = 38 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), ident: "put", auth_zone: NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 67 + [2] Sending nodes: [NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 39 + [2] Reading substate: handle = 704, size = 119, device = Store + [2] Substate close: handle = 39 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 705, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 1 + [3] Reading substate: handle = 706, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 2 + [3] Reading substate: handle = 707, size = 117, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 708, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 709, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 5 + [3] Reading substate: handle = 710, size = 116, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 711, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 7 + [3] Reading substate: handle = 712, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15") + [3] Locking substate: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8132d1ebe92b6cb9a4251ca1373cd8d7a27d8b7412b1d69724e07281e15"), handle = 8 + [3] Reading substate: handle = 713, size = 117, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 9 + [3] Reading substate: handle = 714, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 10 + [3] Reading substate: handle = 715, size = 37, device = Store + [3] Reading substate: handle = 715, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 11 + [3] Reading substate: handle = 716, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), handle = 40 + [2] Reading substate: handle = 717, size = 182, device = Heap + [2] Writing substate: handle = 40, size = 182 + [2] Substate close: handle = 40 + [2] Dropping node: id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9") + [2] Locking substate: node id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86eff5af2211c98b09e5e7540df941339f6bb152a705fe5fdbd5b2153c9"), handle = 41 + [2] Reading substate: handle = 718, size = 80, device = Heap + [2] Substate close: handle = 41 + [2] Substate close: handle = 31 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 42 + [2] Reading substate: handle = 719, size = 119, device = Store + [2] Substate close: handle = 42 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 43 + [2] Reading substate: handle = 720, size = 145, device = Store + [2] Substate close: handle = 43 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 44 + [2] Reading substate: handle = 721, size = 120, device = Heap + [2] Substate close: handle = 44 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 45 + [2] Reading substate: handle = 722, size = 120, device = Heap + [2] Substate close: handle = 45 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 46 + [2] Reading substate: handle = 723, size = 120, device = Heap + [2] Substate close: handle = 46 + [2] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 47 + [2] Reading substate: handle = 724, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 47 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 48 + [2] Reading substate: handle = 725, size = 120, device = Heap + [2] Substate close: handle = 48 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 49 + [2] Reading substate: handle = 726, size = 120, device = Heap + [2] Substate close: handle = 49 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), ident: "get_non_fungible_local_ids", auth_zone: NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 59 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 50 + [2] Reading substate: handle = 727, size = 119, device = Store + [2] Substate close: handle = 50 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 17, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 728, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 1 + [3] Reading substate: handle = 729, size = 120, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 730, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 731, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 4 + [3] Reading substate: handle = 732, size = 120, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 5 + [3] Reading substate: handle = 733, size = 46, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 6 + [3] Reading substate: handle = 734, size = 120, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [3] Reading substate: handle = 735, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 36 + [2] Locking substate: node id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), handle = 51 + [2] Reading substate: handle = 736, size = 182, device = Heap + [2] Writing substate: handle = 51, size = 182 + [2] Substate close: handle = 51 + [2] Dropping node: id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb") + [2] Locking substate: node id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c5b4f895a4616a2d52a490733de8e41018c7c432c4ae52c3e4e64e89fb"), handle = 52 + [2] Reading substate: handle = 737, size = 80, device = Heap + [2] Substate close: handle = 52 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 53 + [2] Reading substate: handle = 738, size = 119, device = Store + [2] Substate close: handle = 53 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 54 + [2] Reading substate: handle = 739, size = 213, device = Store + [2] Substate close: handle = 54 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 154, 76, 99, 24, 198, 49, 140, 102, 52, 110, 152, 204, 99, 24, 198, 49, 140, 247, 214, 58, 162, 169, 19, 198, 166, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 55 + [2] Substate close: handle = 55 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 56 + [2] Reading substate: handle = 741, size = 119, device = Store + [2] Substate close: handle = 56 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 57 + [2] Reading substate: handle = 742, size = 213, device = Store + [2] Substate close: handle = 57 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 154, 76, 99, 24, 198, 49, 140, 102, 52, 110, 152, 204, 99, 24, 198, 49, 140, 247, 214, 58, 162, 169, 19, 198, 166, 49, 140, 99, 24, 198]), flags = MUTABLE + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 58 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 59 + [2] Reading substate: handle = 744, size = 213, device = Store + [2] Substate close: handle = 59 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 60 + [2] Reading substate: handle = 745, size = 213, device = Store + [2] Substate close: handle = 60 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 61 + [2] Reading substate: handle = 746, size = 213, device = Store + [2] Substate close: handle = 61 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 62 + [2] Reading substate: handle = 747, size = 213, device = Store + [2] Substate close: handle = 62 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), ident: "create_empty_vault", auth_zone: NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint"}, generic_substitutions: [Local(ScopedTypeId(SchemaHash(1c42c310b1a6000a83f8b918d24348c28de6abbef05b8e92e7389a6811f1c668), SchemaLocalIndex(0)))] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 63 + [2] Reading substate: handle = 748, size = 119, device = Store + [2] Substate close: handle = 63 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 26, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 749, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 1 + [3] Reading substate: handle = 750, size = 213, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 751, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 752, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 4 + [3] Reading substate: handle = 753, size = 213, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 754, size = 3903, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 6 + [3] Reading substate: handle = 755, size = 213, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 170, 24, 226, 90, 34, 34, 101, 95, 236, 143, 220, 225, 29, 153, 81, 248, 37, 140, 232, 59, 23, 225, 140, 223, 229, 45, 235, 234, 134, 184, 65, 155]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 7 + [3] Reading substate: handle = 756, size = 2207, device = Store + [3] Substate close: handle = 7 + [3] Allocating node id: entity_type = InternalNonFungibleVault + [3] Creating node: id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), type = Some(InternalNonFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 8 + [3] Reading substate: handle = 757, size = 213, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 9 + [3] Reading substate: handle = 758, size = 119, device = Heap + [3] Substate close: handle = 9 + [3] Returning nodes: [NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 64 + [2] Reading substate: handle = 759, size = 119, device = Heap + [2] Substate close: handle = 64 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), handle = 65 + [2] Reading substate: handle = 760, size = 127, device = Heap + [2] Writing substate: handle = 65, size = 127 + [2] Substate close: handle = 65 + [2] Dropping node: id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7") + [2] Locking substate: node id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f435b47bceab183ee3dbb8dfe69bff3497a585713c96c305fc74d231b7"), handle = 66 + [2] Reading substate: handle = 761, size = 80, device = Heap + [2] Substate close: handle = 66 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 67 + [2] Reading substate: handle = 762, size = 119, device = Heap + [2] Substate close: handle = 67 + [2] Writing substate: handle = 58, size = 46 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 68 + [2] Reading substate: handle = 763, size = 119, device = Store + [2] Substate close: handle = 68 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 69 + [2] Reading substate: handle = 764, size = 119, device = Store + [2] Substate close: handle = 69 + [2] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 70 + [2] Reading substate: handle = 765, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 70 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 71 + [2] Reading substate: handle = 766, size = 119, device = Store + [2] Substate close: handle = 71 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 72 + [2] Reading substate: handle = 767, size = 425, device = Store + [2] Substate close: handle = 72 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 73 + [2] Reading substate: handle = 768, size = 119, device = Store + [2] Substate close: handle = 73 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 74 + [2] Reading substate: handle = 769, size = 18, device = Store + [2] Substate close: handle = 74 + [2] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 75 + [2] Reading substate: handle = 770, size = 120, device = Heap + [2] Substate close: handle = 75 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), ident: "put", auth_zone: NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 67 + [2] Sending nodes: [NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 76 + [2] Reading substate: handle = 771, size = 119, device = Store + [2] Substate close: handle = 76 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 772, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 1 + [3] Reading substate: handle = 773, size = 119, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 2 + [3] Reading substate: handle = 774, size = 120, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 775, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 776, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 5 + [3] Reading substate: handle = 777, size = 119, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 6 + [3] Reading substate: handle = 778, size = 213, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 7 + [3] Reading substate: handle = 779, size = 120, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7") + [3] Locking substate: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f812678f0c8a917470cd7f6b7ed7e4bb69fe5495135ce17e41c11ad29eb7"), handle = 8 + [3] Reading substate: handle = 780, size = 120, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 9 + [3] Reading substate: handle = 781, size = 119, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 10 + [3] Reading substate: handle = 782, size = 37, device = Store + [3] Reading substate: handle = 782, size = 37, device = Store + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 11 + [3] Reading substate: handle = 783, size = 119, device = Store + [3] Substate close: handle = 11 + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 12 + [3] Reading substate: handle = 784, size = 119, device = Store + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), handle = 77 + [2] Reading substate: handle = 785, size = 182, device = Heap + [2] Writing substate: handle = 77, size = 182 + [2] Substate close: handle = 77 + [2] Dropping node: id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f") + [2] Locking substate: node id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84377e774d4d02c830d673ac774bb8c1a9bae7c77aba200640db3570d5f"), handle = 78 + [2] Reading substate: handle = 786, size = 80, device = Heap + [2] Substate close: handle = 78 + [2] Substate close: handle = 58 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 79 + [2] Reading substate: handle = 787, size = 119, device = Store + [2] Substate close: handle = 79 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 80 + [2] Reading substate: handle = 788, size = 213, device = Store + [2] Substate close: handle = 80 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 93 + [1] Reading substate: handle = 789, size = 151, device = Heap + [1] Writing substate: handle = 93, size = 151 + [1] Substate close: handle = 93 + [1] Dropping node: id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8") + [1] Locking substate: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84e688107df1077a6c61db964f9b0d4b42354b6fcb6c78706a4a784f3e8"), handle = 94 + [1] Reading substate: handle = 790, size = 80, device = Heap + [1] Substate close: handle = 94 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 95 + [1] Reading substate: handle = 791, size = 79, device = Heap + [1] Substate close: handle = 95 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Worktop_drop", auth_zone: NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1") }), input size = 83 + [1] Sending nodes: [NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 96 + [1] Reading substate: handle = 792, size = 119, device = Store + [1] Substate close: handle = 96 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 793, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 1 + [2] Reading substate: handle = 794, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 795, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 796, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 4 + [2] Reading substate: handle = 797, size = 15, device = Heap + [2] Writing substate: handle = 4, size = 15 + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 5 + [2] Reading substate: handle = 798, size = 79, device = Heap + [2] Substate close: handle = 5 + [2] Dropping node: id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64") + [2] Locking substate: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f841baefffe3b1a4c7446570ca102efc878bcc67af3ad62c90b49a958e64"), handle = 6 + [2] Reading substate: handle = 799, size = 79, device = Heap + [2] Substate close: handle = 6 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1"), handle = 97 + [1] Reading substate: handle = 800, size = 151, device = Heap + [1] Writing substate: handle = 97, size = 151 + [1] Substate close: handle = 97 + [1] Dropping node: id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1") + [1] Locking substate: node id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f828f191adefcba1e04f6fe5727c1338b043f8630f515b34b6e5703c31b1"), handle = 98 + [1] Reading substate: handle = 801, size = 80, device = Heap + [1] Substate close: handle = 98 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 160 +[0] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 1 +[0] Reading substate: handle = 802, size = 29, device = Heap +[0] Writing substate: handle = 1, size = 29 +[0] Substate close: handle = 1 +[0] Dropping node: id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc") +[0] Locking substate: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f86a5888e95b22c36d1402437e32522dbeb91acffcf19a745d9a6853fdfc"), handle = 2 +[0] Reading substate: handle = 803, size = 80, device = Heap +[0] Substate close: handle = 2 +-------------------------------------------------Interpretation Results------------------------------------------------- +Ok([CallReturn([92, 33, 0]), CallReturn([92, 144, 248, 19, 45, 30, 190, 146, 182, 203, 154, 66, 81, 202, 19, 115, 205, 141, 122, 39, 216, 183, 65, 43, 29, 105, 114, 78, 7, 40, 30, 21]), None, CallReturn([92, 33, 3, 128, 131, 249, 92, 242, 96, 12, 30, 174, 134, 43, 139, 70, 208, 252, 23, 149, 121, 222, 180, 196, 191, 126, 117, 243, 62, 232, 50, 75, 40, 19, 144, 248, 18, 103, 143, 12, 138, 145, 116, 112, 205, 127, 107, 126, 215, 228, 187, 105, 254, 84, 149, 19, 92, 225, 126, 65, 193, 26, 210, 158, 183, 144, 248, 43, 24, 18, 167, 226, 45, 255, 224, 235, 254, 113, 196, 113, 125, 114, 196, 39, 18, 132, 226, 179, 146, 4, 56, 251, 241, 169, 183, 195]), CallReturn([92, 33, 0])]) +------------------------------------------------Execution Cost Breakdown------------------------------------------------ +AfterInvoke : 2130 +AllocateNodeId : 6596 +BeforeInvoke : 11828 +CloseSubstate : 103716 +CreateNode : 60986 +DropNode : 90480 +EmitEvent : 7496 +LockFee : 500 +MarkSubstateAsTransient : 385 +MoveModule : 16240 +OpenSubstate::GlobalAccount : 569956 +OpenSubstate::GlobalConsensusManager : 89294 +OpenSubstate::GlobalFungibleResourceManager : 242596 +OpenSubstate::GlobalGenericComponent : 47373 +OpenSubstate::GlobalNonFungibleResourceManager : 478962 +OpenSubstate::GlobalPackage : 4097873 +OpenSubstate::GlobalValidator : 3831 +OpenSubstate::InternalFungibleVault : 189341 +OpenSubstate::InternalGenericComponent : 160333 +OpenSubstate::InternalKeyValueStore : 202765 +OpenSubstate::InternalNonFungibleVault : 6869 +PinNode : 684 +PrepareWasmCode : 707732 +QueryActor : 7500 +QueryTransactionHash : 500 +ReadSubstate : 1095948 +RunNativeCode::Worktop_drain : 11224 +RunNativeCode::Worktop_drop : 17918 +RunNativeCode::Worktop_put : 87099 +RunNativeCode::Worktop_take : 17966 +RunNativeCode::burn_FungibleResourceManager : 45969 +RunNativeCode::create : 73776 +RunNativeCode::create_FungibleResourceManager : 59493 +RunNativeCode::create_NonFungibleResourceManager : 88856 +RunNativeCode::create_empty_vault_FungibleResourceManager : 142280 +RunNativeCode::create_empty_vault_NonFungibleResourceManager : 73991 +RunNativeCode::create_validator : 101277 +RunNativeCode::create_with_data : 82413 +RunNativeCode::drop_empty_bucket_FungibleResourceManager : 20469 +RunNativeCode::get_amount_FungibleBucket : 44064 +RunNativeCode::get_amount_FungibleVault : 28902 +RunNativeCode::get_amount_NonFungibleBucket : 13581 +RunNativeCode::get_current_epoch : 13363 +RunNativeCode::get_non_fungible_local_ids_NonFungibleBucket : 23886 +RunNativeCode::lock_fee : 45243 +RunNativeCode::mint_NonFungibleResourceManager : 96256 +RunNativeCode::put_FungibleVault : 24554 +RunNativeCode::put_NonFungibleVault : 35354 +RunNativeCode::take_FungibleBucket : 39710 +RunNativeCode::take_FungibleVault : 42457 +RunNativeCode::try_deposit_batch_or_abort : 121257 +RunWasmCode::Faucet_free : 34815 +RunWasmCode::Faucet_lock_fee : 24589 +SetSubstate : 1618 +ValidateTxPayload : 14600 +VerifyTxSignatures : 7000 +WriteSubstate : 25850 +----------------------------------------------Finalization Cost Breakdown----------------------------------------------- +CommitEvents : 65123 +CommitLogs : 0 +CommitStateUpdates::GlobalAccount : 100011 +CommitStateUpdates::GlobalFungibleResourceManager : 2100240 +CommitStateUpdates::GlobalGenericComponent : 100018 +CommitStateUpdates::GlobalNonFungibleResourceManager : 2700322 +CommitStateUpdates::GlobalValidator : 700175 +CommitStateUpdates::InternalFungibleVault : 1000170 +CommitStateUpdates::InternalKeyValueStore : 100005 +CommitStateUpdates::InternalNonFungibleVault : 300040 +------------------------------------------------------Fee Summary------------------------------------------------------- +Execution Cost Units Consumed : 9661744 +Finalization Cost Units Consumed : 7166104 +Execution Cost in XRD : 0.4830872 +Finalization Cost in XRD : 0.3583052 +Tipping Cost in XRD : 0 +Storage Cost in XRD : 0.79574583592 +Royalty Costs in XRD : 0 +----------------------------------------------------Application Logs---------------------------------------------------- +--------------------------------------------------------Outcome--------------------------------------------------------- +Success +---------------------------------------------------------Finish--------------------------------------------------------- +-------------------------------------------------------Executable------------------------------------------------------- +Intent hash: ad65383dcd738957afcd8f18dc5705f5a51497888a571db9106f8c48e6208c2e +Payload size: 255 +Transaction costing parameters: TransactionCostingParameters { tip_percentage: 0, free_credit_in_xrd: 0, abort_when_loan_repaid: false } +Pre-allocated addresses: [] +Blobs: [] +References: {Reference(c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6), Reference(c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42), Reference(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6), Reference(83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813), Reference(9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6)} +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) +[0] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 +[0] Reading substate: handle = 0, size = 23, device = Store +[0] Substate close: handle = 0 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6):, ident: "run", auth_zone: NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c") }), input size = 475 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 + [1] Reading substate: handle = 1, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 1 + [1] Reading substate: handle = 2, size = 217, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 188, 12, 232, 110, 91, 201, 19, 105, 224, 156, 182, 16, 65, 0, 4, 91, 34, 141, 57, 124, 72, 190, 253, 39, 12, 2, 0, 223, 61, 42, 174, 216]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 2 + [1] Reading substate: handle = 3, size = 396, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 3 + [1] Reading substate: handle = 4, size = 18, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 4 + [1] Reading substate: handle = 5, size = 26, device = Store + [1] Substate close: handle = 4 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "Worktop"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [1] Reading substate: handle = 6, size = 118, device = Store + [1] Substate close: handle = 5 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [1] Reading substate: handle = 7, size = 118, device = Store + [1] Substate close: handle = 6 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [1] Reading substate: handle = 8, size = 118, device = Store + [1] Substate close: handle = 7 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 8 + [1] Reading substate: handle = 9, size = 23, device = Store + [1] Substate close: handle = 8 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 9 + [1] Reading substate: handle = 10, size = 118, device = Store + [1] Substate close: handle = 9 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "lock_fee", auth_zone: NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 66 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 10 + [1] Reading substate: handle = 11, size = 135, device = Store + [1] Substate close: handle = 10 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 11 + [1] Reading substate: handle = 12, size = 18, device = Store + [1] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 13, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 1 + [2] Reading substate: handle = 14, size = 758, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 2 + [2] Reading substate: handle = 15, size = 118, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 128, 7, 14, 113, 85, 210, 236, 154, 85, 184, 199, 157, 142, 233, 63, 232, 62, 65, 104, 91, 230, 250, 92, 148, 239, 54, 181, 160, 141, 34, 35, 83]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 16, size = 350, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 4 + [2] Reading substate: handle = 17, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 5 + [2] Reading substate: handle = 18, size = 176953, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [2] Reading substate: handle = 19, size = 118, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [2] Reading substate: handle = 21, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [2] Reading substate: handle = 22, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), handle = 10 + [2] Reading substate: handle = 23, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [2] Reading substate: handle = 24, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 25, size = 275, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 13 + [2] Reading substate: handle = 26, size = 116, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 27, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 28, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 29, size = 2934, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 2 + [3] Reading substate: handle = 30, size = 116, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 70, 42, 63, 234, 40, 49, 23, 170, 178, 176, 28, 41, 120, 18, 189, 192, 250, 144, 96, 178, 158, 181, 230, 139, 132, 127, 54, 27, 193, 32, 25, 51]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 31, size = 1790, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 32, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 33, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 34, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 35, size = 37, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [3] Reading substate: handle = 36, size = 116, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Substate close: handle = 9 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), handle = 15 + [2] Reading substate: handle = 38, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490") + [2] Locking substate: node id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dea7f2f6049376a063403a8a081b9ce11fef217ca466feb8c3faf1c490"), handle = 16 + [2] Reading substate: handle = 39, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 40, size = 2218, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 18 + [2] Reading substate: handle = 41, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 42, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), handle = 20 + [2] Reading substate: handle = 43, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 21 + [2] Reading substate: handle = 44, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 45, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 46, size = 18, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "lock_fee", auth_zone: NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 47, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 48, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 49, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 50, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 51, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 52, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 53, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 54, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 55, size = 116, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 56, size = 145, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 9 + [3] Reading substate: handle = 57, size = 2925, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 58, size = 14, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [3] Reading substate: handle = 59, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE | UNMODIFIED_BASE | FORCE_WRITE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 12 + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), handle = 25 + [2] Reading substate: handle = 61, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca") + [2] Locking substate: node id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8b1b0a937df38012061a0d3b4ded3693e067c5b95b8ce65c6e0cb0756ca"), handle = 26 + [2] Reading substate: handle = 62, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 63, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 28 + [2] Reading substate: handle = 64, size = 111, device = Store + [2] Substate close: handle = 28 + [2] Writing substate: handle = 7, size = 73 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), handle = 12 + [1] Reading substate: handle = 65, size = 151, device = Heap + [1] Writing substate: handle = 12, size = 151 + [1] Substate close: handle = 12 + [1] Dropping node: id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6") + [1] Locking substate: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8f8d33a2ab2cb590f6f7ccaf64456561a44ef2e9b26b63d4cd73255e8a6"), handle = 13 + [1] Reading substate: handle = 66, size = 80, device = Heap + [1] Substate close: handle = 13 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 14 + [1] Reading substate: handle = 67, size = 119, device = Store + [1] Substate close: handle = 14 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 15 + [1] Reading substate: handle = 68, size = 119, device = Store + [1] Substate close: handle = 15 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 16 + [1] Reading substate: handle = 69, size = 119, device = Store + [1] Substate close: handle = 16 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 17 + [1] Reading substate: handle = 70, size = 751, device = Store + [1] Substate close: handle = 17 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 18 + [1] Reading substate: handle = 71, size = 119, device = Store + [1] Substate close: handle = 18 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 7, 95, 111, 119, 110, 101, 114, 95]), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 19 + [1] Substate close: handle = 19 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(5), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 20 + [1] Reading substate: handle = 73, size = 94, device = Store + [1] Substate close: handle = 20 + [1] Locking substate: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), handle = 21 + [1] Reading substate: handle = 74, size = 151, device = Heap + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 22 + [1] Reading substate: handle = 75, size = 93, device = Heap + [1] Substate close: handle = 22 + [1] Substate close: handle = 21 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "create_proof_of_non_fungibles", auth_zone: NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 128 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 23 + [1] Reading substate: handle = 76, size = 135, device = Store + [1] Substate close: handle = 23 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 24 + [1] Reading substate: handle = 77, size = 18, device = Store + [1] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 78, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 1 + [2] Reading substate: handle = 79, size = 6154, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 2 + [2] Reading substate: handle = 80, size = 119, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 165, 69, 16, 38, 77, 189, 19, 224, 62, 167, 214, 227, 17, 45, 95, 58, 136, 201, 189, 218, 230, 107, 149, 105, 213, 222, 56, 27, 169, 68, 122, 138]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 81, size = 3706, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 4 + [2] Reading substate: handle = 82, size = 213, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 5 + [2] Reading substate: handle = 83, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 6 + [2] Reading substate: handle = 84, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 7 + [2] Reading substate: handle = 85, size = 119, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 8 + [2] Reading substate: handle = 86, size = 213, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 154, 76, 99, 24, 198, 49, 140, 102, 52, 110, 152, 204, 99, 24, 198, 49, 140, 247, 214, 58, 162, 169, 19, 198, 166, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 9 + [2] Reading substate: handle = 87, size = 46, device = Store + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 10 + [2] Reading substate: handle = 88, size = 119, device = Store + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 11 + [2] Reading substate: handle = 89, size = 119, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), handle = 12 + [2] Reading substate: handle = 90, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 13 + [2] Reading substate: handle = 91, size = 119, device = Store + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 92, size = 425, device = Store + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 15 + [2] Reading substate: handle = 93, size = 119, device = Store + [2] Substate close: handle = 15 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), ident: "create_proof_of_non_fungibles", auth_zone: NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 97 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 16 + [2] Reading substate: handle = 94, size = 119, device = Store + [2] Substate close: handle = 16 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 95, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 96, size = 3903, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 2 + [3] Reading substate: handle = 97, size = 119, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 170, 24, 226, 90, 34, 34, 101, 95, 236, 143, 220, 225, 29, 153, 81, 248, 37, 140, 232, 59, 23, 225, 140, 223, 229, 45, 235, 234, 134, 184, 65, 155]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 98, size = 2207, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 99, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 100, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [3] Reading substate: handle = 101, size = 119, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [3] Reading substate: handle = 103, size = 119, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 9 + [3] Reading substate: handle = 104, size = 37, device = Store + [3] Reading substate: handle = 104, size = 37, device = Store + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 10 + [3] Reading substate: handle = 105, size = 119, device = Store + [3] Substate close: handle = 10 + [3] Writing substate: handle = 9, size = 37 + [3] Substate close: handle = 9 + [3] Writing substate: handle = 7, size = 58 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [3] Reading substate: handle = 106, size = 1417, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 12 + [3] Reading substate: handle = 107, size = 213, device = Store + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 225, 1, 154, 232, 239, 172, 103, 29, 237, 69, 196, 46, 53, 157, 115, 78, 101, 170, 196, 19, 109, 72, 55, 0, 107, 237, 142, 25, 207, 64, 93, 160]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [3] Reading substate: handle = 108, size = 530, device = Store + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleProof"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 14 + [3] Reading substate: handle = 109, size = 119, device = Heap + [3] Substate close: handle = 14 + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 17 + [2] Reading substate: handle = 110, size = 119, device = Heap + [2] Substate close: handle = 17 + [2] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 99 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6")] + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 111, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 112, size = 18, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 113, size = 26, device = Store + [3] Substate close: handle = 2 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), handle = 18 + [2] Reading substate: handle = 114, size = 182, device = Heap + [2] Writing substate: handle = 18, size = 182 + [2] Substate close: handle = 18 + [2] Dropping node: id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d") + [2] Locking substate: node id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83043470c8c67f30e6090fea5dd16dc439c320cdd6d8c76733328103c8d"), handle = 19 + [2] Reading substate: handle = 115, size = 80, device = Heap + [2] Substate close: handle = 19 + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 20 + [2] Reading substate: handle = 116, size = 119, device = Heap + [2] Substate close: handle = 20 + [2] Returning nodes: [NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 25 + [1] Reading substate: handle = 117, size = 119, device = Heap + [1] Substate close: handle = 25 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 112 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 118, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 119, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 120, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), handle = 26 + [1] Reading substate: handle = 121, size = 151, device = Heap + [1] Writing substate: handle = 26, size = 151 + [1] Substate close: handle = 26 + [1] Dropping node: id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44") + [1] Locking substate: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f820f1cf7f6972595c6d57258985f30d671786efe162ff73f31a8eb60e44"), handle = 27 + [1] Reading substate: handle = 122, size = 80, device = Heap + [1] Substate close: handle = 27 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 28 + [1] Reading substate: handle = 123, size = 119, device = Heap + [1] Substate close: handle = 28 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 29 + [1] Reading substate: handle = 124, size = 80, device = Heap + [1] Substate close: handle = 29 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 30 + [1] Reading substate: handle = 125, size = 80, device = Heap + [1] Substate close: handle = 30 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 31 + [1] Reading substate: handle = 126, size = 93, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 31 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 32 + [1] Reading substate: handle = 127, size = 80, device = Heap + [1] Substate close: handle = 32 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 33 + [1] Reading substate: handle = 128, size = 23, device = Store + [1] Substate close: handle = 33 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 34 + [1] Reading substate: handle = 129, size = 80, device = Heap + [1] Substate close: handle = 34 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 35 + [1] Reading substate: handle = 130, size = 119, device = Heap + [1] Substate close: handle = 35 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 100 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 131, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 132, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 133, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 3 + [2] Reading substate: handle = 134, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 4 + [2] Reading substate: handle = 135, size = 13, device = Heap + [2] Reading substate: handle = 135, size = 13, device = Heap + [2] Writing substate: handle = 4, size = 13 + [2] Substate close: handle = 4 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), ident: "push", auth_zone: NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [1] Sending nodes: [NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 36 + [1] Reading substate: handle = 136, size = 119, device = Store + [1] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 137, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 1 + [2] Reading substate: handle = 138, size = 80, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 179, 186, 160, 87, 254, 111, 229, 54, 30, 197, 187, 127, 109, 33, 116, 60, 222, 200, 152, 68, 33, 90, 83, 234, 150, 65, 48, 249, 87, 15, 92, 3]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 139, size = 1308, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 3 + [2] Reading substate: handle = 140, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 141, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [2] Reading substate: handle = 142, size = 26, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 6 + [2] Reading substate: handle = 143, size = 80, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 7 + [2] Reading substate: handle = 144, size = 93, device = Heap + [2] Reading substate: handle = 144, size = 93, device = Heap + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 8 + [2] Reading substate: handle = 145, size = 119, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), handle = 9 + [2] Reading substate: handle = 146, size = 182, device = Store + [2] Substate close: handle = 9 + [2] Writing substate: handle = 7, size = 123 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), handle = 37 + [1] Reading substate: handle = 147, size = 91, device = Heap + [1] Writing substate: handle = 37, size = 91 + [1] Substate close: handle = 37 + [1] Dropping node: id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811") + [1] Locking substate: node id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f81dc71e1b71f0287248ee2c6ca6a9a4be8c6f279b704de07e60df8b0811"), handle = 38 + [1] Reading substate: handle = 148, size = 80, device = Heap + [1] Substate close: handle = 38 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 39 + [1] Reading substate: handle = 149, size = 152, device = Store + [1] Substate close: handle = 39 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 40 + [1] Reading substate: handle = 150, size = 152, device = Store + [1] Substate close: handle = 40 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 41 + [1] Reading substate: handle = 151, size = 152, device = Store + [1] Substate close: handle = 41 + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 42 + [1] Reading substate: handle = 152, size = 566, device = Store + [1] Substate close: handle = 42 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 43 + [1] Reading substate: handle = 153, size = 152, device = Store + [1] Substate close: handle = 43 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 7, 95, 111, 119, 110, 101, 114, 95]), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 44 + [1] Substate close: handle = 44 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(5), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 45 + [1] Reading substate: handle = 155, size = 95, device = Store + [1] Substate close: handle = 45 + [1] Locking substate: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), handle = 46 + [1] Reading substate: handle = 156, size = 151, device = Heap + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 47 + [1] Reading substate: handle = 157, size = 123, device = Heap + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 48 + [1] Reading substate: handle = 158, size = 119, device = Heap + [1] Substate close: handle = 48 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 49 + [1] Reading substate: handle = 159, size = 119, device = Heap + [1] Substate close: handle = 49 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 50 + [1] Reading substate: handle = 160, size = 119, device = Heap + [1] Substate close: handle = 50 + [1] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 51 + [1] Reading substate: handle = 161, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 51 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 52 + [1] Reading substate: handle = 162, size = 119, device = Heap + [1] Substate close: handle = 52 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 53 + [1] Reading substate: handle = 163, size = 23, device = Store + [1] Substate close: handle = 53 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 54 + [1] Reading substate: handle = 164, size = 119, device = Heap + [1] Substate close: handle = 54 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), ident: "NonFungibleProof_get_local_ids", auth_zone: NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 63 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 55 + [1] Reading substate: handle = 165, size = 119, device = Store + [1] Substate close: handle = 55 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 166, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 1 + [2] Reading substate: handle = 167, size = 119, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 168, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 169, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 4 + [2] Reading substate: handle = 170, size = 119, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 5 + [2] Reading substate: handle = 171, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 36 + [1] Locking substate: node id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), handle = 56 + [1] Reading substate: handle = 172, size = 91, device = Heap + [1] Writing substate: handle = 56, size = 91 + [1] Substate close: handle = 56 + [1] Dropping node: id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1") + [1] Locking substate: node id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8eb898e760f64a79e74ac60a8465bb2c6cd7a68aae9bbe7eb70947d59d1"), handle = 57 + [1] Reading substate: handle = 173, size = 80, device = Heap + [1] Substate close: handle = 57 + [1] Substate close: handle = 47 + [1] Substate close: handle = 46 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), ident: "register", auth_zone: NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 41 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 58 + [1] Reading substate: handle = 174, size = 135, device = Store + [1] Substate close: handle = 58 + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 59 + [1] Reading substate: handle = 175, size = 18, device = Store + [1] Substate close: handle = 59 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 0 + [2] Reading substate: handle = 176, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 1 + [2] Reading substate: handle = 177, size = 5034, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 2 + [2] Reading substate: handle = 178, size = 152, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 71, 167, 47, 116, 92, 189, 249, 52, 183, 60, 60, 192, 128, 137, 15, 244, 206, 20, 120, 112, 171, 198, 153, 44, 210, 60, 75, 86, 92, 144, 220, 76]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 3 + [2] Reading substate: handle = 179, size = 3204, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 4 + [2] Reading substate: handle = 180, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 5 + [2] Reading substate: handle = 181, size = 26, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 6 + [2] Reading substate: handle = 182, size = 152, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 7 + [2] Reading substate: handle = 183, size = 300, device = Store + [2] Reading substate: handle = 183, size = 300, device = Store + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 8 + [2] Reading substate: handle = 184, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 9 + [2] Reading substate: handle = 185, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), handle = 10 + [2] Reading substate: handle = 186, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 11 + [2] Reading substate: handle = 187, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 12 + [2] Reading substate: handle = 188, size = 116, device = Store + [2] Substate close: handle = 12 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), ident: "get_amount", auth_zone: NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [2] Reading substate: handle = 189, size = 119, device = Store + [2] Substate close: handle = 13 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 190, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 1 + [3] Reading substate: handle = 191, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 192, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 193, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 4 + [3] Reading substate: handle = 194, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 5 + [3] Reading substate: handle = 195, size = 37, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 6 + [3] Reading substate: handle = 196, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 7 + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), handle = 14 + [2] Reading substate: handle = 198, size = 182, device = Heap + [2] Writing substate: handle = 14, size = 182 + [2] Substate close: handle = 14 + [2] Dropping node: id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd") + [2] Locking substate: node id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a1e52bc270e75bbdc302706839e167ec687d67b51d4ef5b6fbf0b157bd"), handle = 15 + [2] Reading substate: handle = 199, size = 80, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 16 + [2] Reading substate: handle = 200, size = 164, device = Store + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 17 + [2] Reading substate: handle = 201, size = 218, device = Store + [2] Substate close: handle = 17 + [2] Writing substate: handle = 7, size = 300 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 18 + [2] Reading substate: handle = 202, size = 152, device = Store + [2] Substate close: handle = 18 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), handle = 60 + [1] Reading substate: handle = 203, size = 151, device = Heap + [1] Writing substate: handle = 60, size = 151 + [1] Substate close: handle = 60 + [1] Dropping node: id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d") + [1] Locking substate: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86185ae1797ae821020b9d24ef07db38808909da67159837c9304fc931d"), handle = 61 + [1] Reading substate: handle = 204, size = 80, device = Heap + [1] Substate close: handle = 61 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 62 + [1] Reading substate: handle = 205, size = 23, device = Store + [1] Substate close: handle = 62 + [1] Locking substate: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), handle = 63 + [1] Reading substate: handle = 206, size = 79, device = Heap + [1] Substate close: handle = 63 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 64 + [1] Reading substate: handle = 207, size = 2043, device = Store + [1] Substate close: handle = 64 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Worktop_drop", auth_zone: NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c") }), input size = 83 + [1] Sending nodes: [NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 65 + [1] Reading substate: handle = 208, size = 119, device = Store + [1] Substate close: handle = 65 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 209, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 141, 211, 182, 27, 8, 110, 213, 118, 124, 205, 149, 251, 20, 119, 195, 234, 70, 58, 213, 0, 97, 24, 137, 30, 59, 56, 255, 159, 241, 249, 161, 223]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 210, size = 827, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), handle = 2 + [2] Reading substate: handle = 211, size = 79, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 212, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 213, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), handle = 5 + [2] Reading substate: handle = 214, size = 15, device = Heap + [2] Writing substate: handle = 5, size = 15 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), handle = 6 + [2] Reading substate: handle = 215, size = 79, device = Heap + [2] Substate close: handle = 6 + [2] Dropping node: id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6") + [2] Locking substate: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8476ee50fa2c9f10f41714e13c022882e231c2c041ba23fef72f0f787b6"), handle = 7 + [2] Reading substate: handle = 216, size = 79, device = Heap + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c"), handle = 66 + [1] Reading substate: handle = 217, size = 151, device = Heap + [1] Writing substate: handle = 66, size = 151 + [1] Substate close: handle = 66 + [1] Dropping node: id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c") + [1] Locking substate: node id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f86bb85013ab4d52d004d785e8e51a2a77be6e525a991986efb412f8de7c"), handle = 67 + [1] Reading substate: handle = 218, size = 80, device = Heap + [1] Substate close: handle = 67 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 57 +[0] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 1 +[0] Reading substate: handle = 219, size = 123, device = Heap +[0] Writing substate: handle = 1, size = 93 +[0] Substate close: handle = 1 +[0] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 2 +[0] Reading substate: handle = 220, size = 119, device = Heap +[0] Substate close: handle = 2 +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 3 +[0] Reading substate: handle = 221, size = 119, device = Heap +[0] Substate close: handle = 3 +[0] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 108 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [1] Reading substate: handle = 222, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [1] Reading substate: handle = 223, size = 18, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [1] Reading substate: handle = 224, size = 26, device = Store + [1] Substate close: handle = 2 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 3 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Proof_drop", auth_zone: NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b") }), input size = 90 +[0] Sending nodes: [NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")] +[0] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [1] Reading substate: handle = 225, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 1 + [1] Reading substate: handle = 226, size = 119, device = Heap + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [1] Reading substate: handle = 227, size = 18, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [1] Reading substate: handle = 228, size = 26, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 4 + [1] Reading substate: handle = 229, size = 119, device = Heap + [1] Substate close: handle = 4 + [1] Dropping node: id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d") + [1] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 5 + [1] Reading substate: handle = 230, size = 119, device = Heap + [1] Substate close: handle = 5 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d")), hook: OnDrop, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 50 + [1] Sending nodes: [] + [1] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 231, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 232, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 233, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 3 + [2] Reading substate: handle = 234, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8756153fc6345a1f11d418deb420b528dc69e728ef7f6dd4d2a96c3410d"), handle = 4 + [2] Reading substate: handle = 235, size = 117, device = Heap + [2] Reading substate: handle = 235, size = 117, device = Heap + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 5 + [2] Reading substate: handle = 236, size = 119, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [2] Reading substate: handle = 237, size = 119, device = Store + [2] Substate close: handle = 6 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [2] Reading substate: handle = 238, size = 119, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [2] Reading substate: handle = 239, size = 119, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), handle = 9 + [2] Reading substate: handle = 240, size = 60, device = Heap + [2] Substate close: handle = 9 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), ident: "unlock_non_fungibles", auth_zone: NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 88 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 10 + [2] Reading substate: handle = 241, size = 119, device = Store + [2] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 242, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 1 + [3] Reading substate: handle = 243, size = 119, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 244, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 245, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 4 + [3] Reading substate: handle = 246, size = 119, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 5 + [3] Reading substate: handle = 247, size = 58, device = Store + [3] Reading substate: handle = 247, size = 58, device = Store + [3] Writing substate: handle = 5, size = 18 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [3] Reading substate: handle = 248, size = 119, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [3] Reading substate: handle = 249, size = 37, device = Store + [3] Reading substate: handle = 249, size = 37, device = Store + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [3] Reading substate: handle = 250, size = 119, device = Store + [3] Substate close: handle = 8 + [3] Writing substate: handle = 7, size = 37 + [3] Substate close: handle = 7 + [3] Substate close: handle = 5 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), handle = 11 + [2] Reading substate: handle = 251, size = 60, device = Heap + [2] Writing substate: handle = 11, size = 60 + [2] Substate close: handle = 11 + [2] Dropping node: id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed") + [2] Locking substate: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8f5f053d65c1b883fce3e68afa8158d73575875bcb0401cc66e097fc4ed"), handle = 12 + [2] Reading substate: handle = 252, size = 80, device = Heap + [2] Substate close: handle = 12 + [2] Substate close: handle = 4 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 3 +[0] Locking substate: node id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b"), handle = 4 +[0] Reading substate: handle = 253, size = 29, device = Heap +[0] Writing substate: handle = 4, size = 29 +[0] Substate close: handle = 4 +[0] Dropping node: id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b") +[0] Locking substate: node id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8d3683eca25720871b2655f27045dd08b2b9983c15a46d85ba84d338e0b"), handle = 5 +[0] Reading substate: handle = 254, size = 80, device = Heap +[0] Substate close: handle = 5 +[0] Dropping node: id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c") +[0] Locking substate: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f86b92b3ba0434891794dc9296e5bd0ede7f030658186761148dd77ad39c"), handle = 6 +[0] Reading substate: handle = 255, size = 80, device = Heap +[0] Substate close: handle = 6 +-------------------------------------------------Interpretation Results------------------------------------------------- +Ok([CallReturn([92, 33, 0]), CallReturn([92, 144, 248, 117, 97, 83, 252, 99, 69, 161, 241, 29, 65, 141, 235, 66, 11, 82, 141, 198, 158, 114, 142, 247, 246, 221, 77, 42, 150, 195, 65, 13]), CallReturn([92, 33, 0])]) +------------------------------------------------Execution Cost Breakdown------------------------------------------------ +AfterInvoke : 364 +AllocateNodeId : 1455 +BeforeInvoke : 2298 +CloseSubstate : 33024 +CreateNode : 12998 +DropNode : 23303 +EmitEvent : 1062 +LockFee : 500 +MarkSubstateAsTransient : 220 +OpenSubstate::GlobalAccount : 244472 +OpenSubstate::GlobalFungibleResourceManager : 162519 +OpenSubstate::GlobalGenericComponent : 43690 +OpenSubstate::GlobalNonFungibleResourceManager : 123653 +OpenSubstate::GlobalPackage : 2658517 +OpenSubstate::GlobalValidator : 246011 +OpenSubstate::InternalFungibleVault : 174677 +OpenSubstate::InternalGenericComponent : 38288 +OpenSubstate::InternalKeyValueStore : 40536 +OpenSubstate::InternalNonFungibleVault : 90182 +PinNode : 180 +PrepareWasmCode : 353866 +QueryActor : 2500 +ReadSubstate : 509656 +RemoveSubstate : 40717 +RunNativeCode::AuthZone_push : 23850 +RunNativeCode::NonFungibleProof_get_local_ids : 9308 +RunNativeCode::Worktop_drop : 17918 +RunNativeCode::create_proof_of_non_fungibles : 128319 +RunNativeCode::get_amount_FungibleVault : 28902 +RunNativeCode::lock_fee : 45243 +RunNativeCode::on_drop_NonFungibleProof : 14622 +RunNativeCode::on_move_NonFungibleProof : 12831 +RunNativeCode::register : 34704 +RunNativeCode::unlock_non_fungibles_NonFungibleVault : 34403 +RunWasmCode::Faucet_lock_fee : 24589 +SetSubstate : 151 +ValidateTxPayload : 10200 +VerifyTxSignatures : 14000 +WriteSubstate : 9828 +----------------------------------------------Finalization Cost Breakdown----------------------------------------------- +CommitEvents : 10007 +CommitLogs : 0 +CommitStateUpdates::GlobalGenericComponent : 100018 +CommitStateUpdates::GlobalValidator : 100075 +CommitStateUpdates::InternalFungibleVault : 100009 +CommitStateUpdates::InternalNonFungibleVault : 200011 +------------------------------------------------------Fee Summary------------------------------------------------------- +Execution Cost Units Consumed : 5213556 +Finalization Cost Units Consumed : 510120 +Execution Cost in XRD : 0.2606778 +Finalization Cost in XRD : 0.025506 +Tipping Cost in XRD : 0 +Storage Cost in XRD : 0.0371932977 +Royalty Costs in XRD : 0 +----------------------------------------------------Application Logs---------------------------------------------------- +--------------------------------------------------------Outcome--------------------------------------------------------- +Success +---------------------------------------------------------Finish--------------------------------------------------------- +-------------------------------------------------------Executable------------------------------------------------------- +Intent hash: 6a59c911c73b552c5032fae98f5d49b44848af4cda5fbd28143938a4d6b62343 +Payload size: 472 +Transaction costing parameters: TransactionCostingParameters { tip_percentage: 0, free_credit_in_xrd: 0, abort_when_loan_repaid: false } +Pre-allocated addresses: [] +Blobs: [] +References: {Reference(c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6), Reference(c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42), Reference(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6), Reference(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6), Reference(83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813), Reference(9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6)} +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) +[0] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 +[0] Reading substate: handle = 0, size = 23, device = Store +[0] Substate close: handle = 0 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6):, ident: "run", auth_zone: NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144") }), input size = 722 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 0 + [1] Reading substate: handle = 1, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 20, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 80, 114, 111, 99, 101, 115, 115, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 1 + [1] Reading substate: handle = 2, size = 217, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 188, 12, 232, 110, 91, 201, 19, 105, 224, 156, 182, 16, 65, 0, 4, 91, 34, 141, 57, 124, 72, 190, 253, 39, 12, 2, 0, 223, 61, 42, 174, 216]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 2 + [1] Reading substate: handle = 3, size = 396, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 3 + [1] Reading substate: handle = 4, size = 18, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 35, 234, 93, 231, 135, 92, 128, 68, 65, 228, 168, 163, 153, 127, 171, 62, 83, 52, 29, 49, 6, 242, 198, 189, 215, 62, 124, 29, 229, 2, 151, 37]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6"), handle = 4 + [1] Reading substate: handle = 5, size = 26, device = Store + [1] Substate close: handle = 4 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "Worktop"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 5 + [1] Reading substate: handle = 6, size = 118, device = Store + [1] Substate close: handle = 5 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [1] Reading substate: handle = 7, size = 118, device = Store + [1] Substate close: handle = 6 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [1] Reading substate: handle = 8, size = 118, device = Store + [1] Substate close: handle = 7 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 8 + [1] Reading substate: handle = 9, size = 23, device = Store + [1] Substate close: handle = 8 + [1] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 9 + [1] Reading substate: handle = 10, size = 118, device = Store + [1] Substate close: handle = 9 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), ident: "lock_fee", auth_zone: NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }, RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 66 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 10 + [1] Reading substate: handle = 11, size = 135, device = Store + [1] Substate close: handle = 10 + [1] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 11 + [1] Reading substate: handle = 12, size = 18, device = Store + [1] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 0 + [2] Reading substate: handle = 13, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 6, 70, 97, 117, 99, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 1 + [2] Reading substate: handle = 14, size = 758, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 2 + [2] Reading substate: handle = 15, size = 118, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 128, 7, 14, 113, 85, 210, 236, 154, 85, 184, 199, 157, 142, 233, 63, 232, 62, 65, 104, 91, 230, 250, 92, 148, 239, 54, 181, 160, 141, 34, 35, 83]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 3 + [2] Reading substate: handle = 16, size = 350, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 4 + [2] Reading substate: handle = 17, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), partition_num = PartitionNumber(71), substate_key = Map([92, 32, 7, 32, 146, 46, 186, 132, 132, 60, 226, 236, 252, 21, 83, 58, 17, 206, 253, 135, 113, 1, 222, 178, 89, 192, 193, 121, 215, 194, 225, 0, 244, 68, 171, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c64f798cacc6318c6318cf7bdf1ac6943ea26318c6318c6"), handle = 5 + [2] Reading substate: handle = 18, size = 176953, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 6 + [2] Reading substate: handle = 19, size = 118, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("c0566318c6318c64f798cacc6318c6318cf7be8af78a78f8a6318c6318c6"), handle = 7 + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Reading substate: handle = 20, size = 73, device = Store + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [2] Reading substate: handle = 21, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [2] Reading substate: handle = 22, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), handle = 10 + [2] Reading substate: handle = 23, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [2] Reading substate: handle = 24, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 12 + [2] Reading substate: handle = 25, size = 275, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 13 + [2] Reading substate: handle = 26, size = 116, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "get_amount", auth_zone: NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 27, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 28, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 29, size = 2934, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 2 + [3] Reading substate: handle = 30, size = 116, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 70, 42, 63, 234, 40, 49, 23, 170, 178, 176, 28, 41, 120, 18, 189, 192, 250, 144, 96, 178, 158, 181, 230, 139, 132, 127, 54, 27, 193, 32, 25, 51]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 31, size = 1790, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 32, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 33, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 34, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 35, size = 37, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 8 + [3] Reading substate: handle = 36, size = 116, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 9 + [3] Substate close: handle = 9 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), handle = 15 + [2] Reading substate: handle = 38, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7") + [2] Locking substate: node id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f83b7124fca81e54ac4fa7895ce5c96e7d0e1b102904a2710d44fd6cc6d7"), handle = 16 + [2] Reading substate: handle = 39, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 40, size = 2218, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 18 + [2] Reading substate: handle = 41, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 19 + [2] Reading substate: handle = 42, size = 116, device = Store + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), handle = 20 + [2] Reading substate: handle = 43, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 21 + [2] Reading substate: handle = 44, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 22 + [2] Reading substate: handle = 45, size = 116, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 23 + [2] Reading substate: handle = 46, size = 18, device = Store + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), ident: "lock_fee", auth_zone: NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 47, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 48, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 1 + [3] Reading substate: handle = 49, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 50, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 51, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 4 + [3] Reading substate: handle = 52, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 53, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 6 + [3] Reading substate: handle = 54, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 7 + [3] Reading substate: handle = 55, size = 116, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 56, size = 145, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 9 + [3] Reading substate: handle = 57, size = 2925, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 10 + [3] Reading substate: handle = 58, size = 14, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 11 + [3] Reading substate: handle = 59, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE | UNMODIFIED_BASE | FORCE_WRITE + [3] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 12 + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Reading substate: handle = 60, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), handle = 25 + [2] Reading substate: handle = 61, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2") + [2] Locking substate: node id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f88c7ca90d32a2e31e97eb13bd088d0e17a86d394223bfeff80dd847efb2"), handle = 26 + [2] Reading substate: handle = 62, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), handle = 27 + [2] Reading substate: handle = 63, size = 116, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("b0e7ec7c438836050aee1fbdb6e67681a0e4bde4cdceb9c58416608ad871"), handle = 28 + [2] Reading substate: handle = 64, size = 111, device = Store + [2] Substate close: handle = 28 + [2] Writing substate: handle = 7, size = 73 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), handle = 12 + [1] Reading substate: handle = 65, size = 151, device = Heap + [1] Writing substate: handle = 12, size = 151 + [1] Substate close: handle = 12 + [1] Dropping node: id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3") + [1] Locking substate: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a2d82373f41d9500af46b8dbd83f8c1251ddcb6e67feea12032e2b0dc3"), handle = 13 + [1] Reading substate: handle = 66, size = 80, device = Heap + [1] Substate close: handle = 13 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 14 + [1] Reading substate: handle = 67, size = 119, device = Store + [1] Substate close: handle = 14 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 15 + [1] Reading substate: handle = 68, size = 119, device = Store + [1] Substate close: handle = 15 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 16 + [1] Reading substate: handle = 69, size = 119, device = Store + [1] Substate close: handle = 16 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 17 + [1] Reading substate: handle = 70, size = 751, device = Store + [1] Substate close: handle = 17 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 18 + [1] Reading substate: handle = 71, size = 119, device = Store + [1] Substate close: handle = 18 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 7, 95, 111, 119, 110, 101, 114, 95]), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 19 + [1] Substate close: handle = 19 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(5), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 20 + [1] Reading substate: handle = 73, size = 94, device = Store + [1] Substate close: handle = 20 + [1] Locking substate: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), handle = 21 + [1] Reading substate: handle = 74, size = 151, device = Heap + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 22 + [1] Reading substate: handle = 75, size = 93, device = Heap + [1] Substate close: handle = 22 + [1] Substate close: handle = 21 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "create_proof_of_non_fungibles", auth_zone: NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 128 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 23 + [1] Reading substate: handle = 76, size = 135, device = Store + [1] Substate close: handle = 23 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 24 + [1] Reading substate: handle = 77, size = 18, device = Store + [1] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 78, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 1 + [2] Reading substate: handle = 79, size = 6154, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 2 + [2] Reading substate: handle = 80, size = 119, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 165, 69, 16, 38, 77, 189, 19, 224, 62, 167, 214, 227, 17, 45, 95, 58, 136, 201, 189, 218, 230, 107, 149, 105, 213, 222, 56, 27, 169, 68, 122, 138]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 81, size = 3706, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 4 + [2] Reading substate: handle = 82, size = 213, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 5 + [2] Reading substate: handle = 83, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 6 + [2] Reading substate: handle = 84, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 7 + [2] Reading substate: handle = 85, size = 119, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 8 + [2] Reading substate: handle = 86, size = 213, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 154, 76, 99, 24, 198, 49, 140, 102, 52, 110, 152, 204, 99, 24, 198, 49, 140, 247, 214, 58, 162, 169, 19, 198, 166, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 9 + [2] Reading substate: handle = 87, size = 46, device = Store + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 10 + [2] Reading substate: handle = 88, size = 119, device = Store + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 11 + [2] Reading substate: handle = 89, size = 119, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), handle = 12 + [2] Reading substate: handle = 90, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 13 + [2] Reading substate: handle = 91, size = 119, device = Store + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 92, size = 425, device = Store + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 15 + [2] Reading substate: handle = 93, size = 119, device = Store + [2] Substate close: handle = 15 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), ident: "create_proof_of_non_fungibles", auth_zone: NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 97 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 16 + [2] Reading substate: handle = 94, size = 119, device = Store + [2] Substate close: handle = 16 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 95, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 96, size = 3903, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 2 + [3] Reading substate: handle = 97, size = 119, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 170, 24, 226, 90, 34, 34, 101, 95, 236, 143, 220, 225, 29, 153, 81, 248, 37, 140, 232, 59, 23, 225, 140, 223, 229, 45, 235, 234, 134, 184, 65, 155]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 98, size = 2207, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 99, size = 18, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [3] Reading substate: handle = 100, size = 26, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [3] Reading substate: handle = 101, size = 119, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [3] Reading substate: handle = 103, size = 119, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 9 + [3] Reading substate: handle = 104, size = 37, device = Store + [3] Reading substate: handle = 104, size = 37, device = Store + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 10 + [3] Reading substate: handle = 105, size = 119, device = Store + [3] Substate close: handle = 10 + [3] Writing substate: handle = 9, size = 37 + [3] Substate close: handle = 9 + [3] Writing substate: handle = 7, size = 58 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [3] Reading substate: handle = 106, size = 1417, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6"), handle = 12 + [3] Reading substate: handle = 107, size = 213, device = Store + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 225, 1, 154, 232, 239, 172, 103, 29, 237, 69, 196, 46, 53, 157, 115, 78, 101, 170, 196, 19, 109, 72, 55, 0, 107, 237, 142, 25, 207, 64, 93, 160]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [3] Reading substate: handle = 108, size = 530, device = Store + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "NonFungibleProof"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 14 + [3] Reading substate: handle = 109, size = 119, device = Heap + [3] Substate close: handle = 14 + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 17 + [2] Reading substate: handle = 110, size = 119, device = Heap + [2] Substate close: handle = 17 + [2] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 99 + [2] Sending nodes: [] + [2] Sending refs: [NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6")] + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 111, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [3] Reading substate: handle = 112, size = 18, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 113, size = 26, device = Store + [3] Substate close: handle = 2 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), handle = 18 + [2] Reading substate: handle = 114, size = 182, device = Heap + [2] Writing substate: handle = 18, size = 182 + [2] Substate close: handle = 18 + [2] Dropping node: id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d") + [2] Locking substate: node id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84df87183866348d16a8ad91cfdd7601ecf4d1490072ecaa7bfa73d165d"), handle = 19 + [2] Reading substate: handle = 115, size = 80, device = Heap + [2] Substate close: handle = 19 + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 20 + [2] Reading substate: handle = 116, size = 119, device = Heap + [2] Substate close: handle = 20 + [2] Returning nodes: [NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 25 + [1] Reading substate: handle = 117, size = 119, device = Heap + [1] Substate close: handle = 25 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 112 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("0d906318c6318c659a6130cc6318c6318cf7a8ba5295eabf46318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 118, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 119, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 120, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), handle = 26 + [1] Reading substate: handle = 121, size = 151, device = Heap + [1] Writing substate: handle = 26, size = 151 + [1] Substate close: handle = 26 + [1] Dropping node: id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5") + [1] Locking substate: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8a465aaf8454f148c7040287fdea928a07ae2d114f5b4e838bc5588fab5"), handle = 27 + [1] Reading substate: handle = 122, size = 80, device = Heap + [1] Substate close: handle = 27 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 28 + [1] Reading substate: handle = 123, size = 119, device = Heap + [1] Substate close: handle = 28 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 29 + [1] Reading substate: handle = 124, size = 80, device = Heap + [1] Substate close: handle = 29 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 30 + [1] Reading substate: handle = 125, size = 80, device = Heap + [1] Substate close: handle = 30 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 31 + [1] Reading substate: handle = 126, size = 93, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 31 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 32 + [1] Reading substate: handle = 127, size = 80, device = Heap + [1] Substate close: handle = 32 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 33 + [1] Reading substate: handle = 128, size = 23, device = Store + [1] Substate close: handle = 33 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 34 + [1] Reading substate: handle = 129, size = 80, device = Heap + [1] Substate close: handle = 34 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 35 + [1] Reading substate: handle = 130, size = 119, device = Heap + [1] Substate close: handle = 35 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 100 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6")] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 131, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 132, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 133, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 3 + [2] Reading substate: handle = 134, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 4 + [2] Reading substate: handle = 135, size = 13, device = Heap + [2] Reading substate: handle = 135, size = 13, device = Heap + [2] Writing substate: handle = 4, size = 13 + [2] Substate close: handle = 4 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), ident: "push", auth_zone: NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 68 + [1] Sending nodes: [NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 36 + [1] Reading substate: handle = 136, size = 119, device = Store + [1] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 8, 65, 117, 116, 104, 90, 111, 110, 101, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 137, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 1 + [2] Reading substate: handle = 138, size = 80, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 179, 186, 160, 87, 254, 111, 229, 54, 30, 197, 187, 127, 109, 33, 116, 60, 222, 200, 152, 68, 33, 90, 83, 234, 150, 65, 48, 249, 87, 15, 92, 3]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 139, size = 1308, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 3 + [2] Reading substate: handle = 140, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 141, size = 18, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [2] Reading substate: handle = 142, size = 26, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 6 + [2] Reading substate: handle = 143, size = 80, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 7 + [2] Reading substate: handle = 144, size = 93, device = Heap + [2] Reading substate: handle = 144, size = 93, device = Heap + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 8 + [2] Reading substate: handle = 145, size = 119, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a4c6318c6318c686701820c6318c6318cf7d75139d5aad5e6318c6318c6"), handle = 9 + [2] Reading substate: handle = 146, size = 182, device = Store + [2] Substate close: handle = 9 + [2] Writing substate: handle = 7, size = 123 + [2] Substate close: handle = 7 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), handle = 37 + [1] Reading substate: handle = 147, size = 91, device = Heap + [1] Writing substate: handle = 37, size = 91 + [1] Substate close: handle = 37 + [1] Dropping node: id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d") + [1] Locking substate: node id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8e4a044b424dd9f77a3e0995f9c997ae01959e93875bd920e0ecaab839d"), handle = 38 + [1] Reading substate: handle = 148, size = 80, device = Heap + [1] Substate close: handle = 38 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 39 + [1] Reading substate: handle = 149, size = 119, device = Store + [1] Substate close: handle = 39 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 40 + [1] Reading substate: handle = 150, size = 119, device = Store + [1] Substate close: handle = 40 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 41 + [1] Reading substate: handle = 151, size = 119, device = Store + [1] Substate close: handle = 41 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 42 + [1] Reading substate: handle = 152, size = 119, device = Store + [1] Substate close: handle = 42 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 7, 95, 111, 119, 110, 101, 114, 95]), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 43 + [1] Substate close: handle = 43 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(5), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 44 + [1] Reading substate: handle = 154, size = 94, device = Store + [1] Substate close: handle = 44 + [1] Locking substate: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), handle = 45 + [1] Reading substate: handle = 155, size = 151, device = Heap + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 46 + [1] Reading substate: handle = 156, size = 123, device = Heap + [1] Substate close: handle = 46 + [1] Substate close: handle = 45 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "withdraw", auth_zone: NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 97 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 47 + [1] Reading substate: handle = 157, size = 135, device = Store + [1] Substate close: handle = 47 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 48 + [1] Reading substate: handle = 158, size = 18, device = Store + [1] Substate close: handle = 48 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 159, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 1 + [2] Reading substate: handle = 160, size = 119, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 2 + [2] Reading substate: handle = 161, size = 145, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 162, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 4 + [2] Reading substate: handle = 163, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 5 + [2] Reading substate: handle = 164, size = 119, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [2] Reading substate: handle = 165, size = 145, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 166, 99, 24, 198, 49, 140, 97, 245, 166, 27, 76, 99, 24, 198, 49, 140, 247, 148, 170, 141, 41, 95, 20, 230, 49, 140, 99, 24, 198]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 7 + [2] Reading substate: handle = 166, size = 46, device = Store + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 8 + [2] Reading substate: handle = 167, size = 116, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 9 + [2] Reading substate: handle = 168, size = 116, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), handle = 10 + [2] Reading substate: handle = 169, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 11 + [2] Reading substate: handle = 170, size = 116, device = Store + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 12 + [2] Reading substate: handle = 171, size = 116, device = Store + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 10, 119, 105, 116, 104, 100, 114, 97, 119, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 13 + [2] Reading substate: handle = 172, size = 18, device = Store + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), ident: "take", auth_zone: NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 173, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 174, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 1 + [3] Reading substate: handle = 175, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 176, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 177, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 4 + [3] Reading substate: handle = 178, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 5 + [3] Reading substate: handle = 179, size = 145, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 6 + [3] Reading substate: handle = 180, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 7 + [3] Reading substate: handle = 181, size = 145, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 8 + [3] Reading substate: handle = 182, size = 14, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 9 + [3] Reading substate: handle = 183, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 10 + [3] Reading substate: handle = 184, size = 37, device = Store + [3] Reading substate: handle = 184, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [3] Reading substate: handle = 185, size = 2072, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 12 + [3] Reading substate: handle = 186, size = 145, device = Store + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 97, 215, 242, 158, 15, 71, 7, 80, 215, 52, 221, 237, 117, 247, 13, 176, 158, 238, 125, 147, 35, 37, 238, 251, 31, 90, 204, 9, 222, 49, 84, 58]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [3] Reading substate: handle = 187, size = 1016, device = Store + [3] Substate close: handle = 13 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), handle = 14 + [3] Reading substate: handle = 188, size = 116, device = Store + [3] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 15 + [3] Reading substate: handle = 189, size = 117, device = Heap + [3] Substate close: handle = 15 + [3] Returning nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 15 + [2] Reading substate: handle = 190, size = 117, device = Heap + [2] Substate close: handle = 15 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), handle = 16 + [2] Reading substate: handle = 191, size = 182, device = Heap + [2] Writing substate: handle = 16, size = 182 + [2] Substate close: handle = 16 + [2] Dropping node: id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e") + [2] Locking substate: node id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f86989f3a0e2915901875e13a2ca356487d78613c5f03109e23191a87b8e"), handle = 17 + [2] Reading substate: handle = 192, size = 80, device = Heap + [2] Substate close: handle = 17 + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 18 + [2] Reading substate: handle = 193, size = 117, device = Heap + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 19 + [2] Reading substate: handle = 194, size = 117, device = Heap + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), handle = 20 + [2] Reading substate: handle = 195, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 21 + [2] Reading substate: handle = 196, size = 117, device = Heap + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 22 + [2] Reading substate: handle = 197, size = 174, device = Store + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 23 + [2] Reading substate: handle = 198, size = 117, device = Heap + [2] Substate close: handle = 23 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), ident: "get_amount", auth_zone: NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 24 + [2] Reading substate: handle = 199, size = 119, device = Store + [2] Substate close: handle = 24 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 200, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 1 + [3] Reading substate: handle = 201, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 202, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 203, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 4 + [3] Reading substate: handle = 204, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 5 + [3] Reading substate: handle = 205, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 6 + [3] Reading substate: handle = 206, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [3] Reading substate: handle = 207, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), handle = 25 + [2] Reading substate: handle = 208, size = 182, device = Heap + [2] Writing substate: handle = 25, size = 182 + [2] Substate close: handle = 25 + [2] Dropping node: id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5") + [2] Locking substate: node id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c576304633b088b8e49d69bbe53aaa2ce0c7a90df0e6163af6266552e5"), handle = 26 + [2] Reading substate: handle = 209, size = 80, device = Heap + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 27 + [2] Reading substate: handle = 210, size = 119, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 28 + [2] Reading substate: handle = 211, size = 145, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 29 + [2] Reading substate: handle = 212, size = 117, device = Heap + [2] Substate close: handle = 29 + [2] Returning nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 49 + [1] Reading substate: handle = 213, size = 117, device = Heap + [1] Substate close: handle = 49 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), handle = 50 + [1] Reading substate: handle = 214, size = 151, device = Heap + [1] Writing substate: handle = 50, size = 151 + [1] Substate close: handle = 50 + [1] Dropping node: id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1") + [1] Locking substate: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f817193b5326b93aa51c61e725428c3f0d0d00d0bd591c71aa5a76eb7cc1"), handle = 51 + [1] Reading substate: handle = 215, size = 80, device = Heap + [1] Substate close: handle = 51 + [1] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 52 + [1] Reading substate: handle = 216, size = 117, device = Heap + [1] Substate close: handle = 52 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 53 + [1] Reading substate: handle = 217, size = 79, device = Heap + [1] Substate close: handle = 53 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 54 + [1] Reading substate: handle = 218, size = 79, device = Heap + [1] Substate close: handle = 54 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 55 + [1] Reading substate: handle = 219, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 55 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 56 + [1] Reading substate: handle = 220, size = 79, device = Heap + [1] Substate close: handle = 56 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 57 + [1] Reading substate: handle = 221, size = 23, device = Store + [1] Substate close: handle = 57 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 58 + [1] Reading substate: handle = 222, size = 79, device = Heap + [1] Substate close: handle = 58 + [1] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 59 + [1] Reading substate: handle = 223, size = 117, device = Heap + [1] Substate close: handle = 59 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), ident: "Worktop_put", auth_zone: NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 60 + [1] Reading substate: handle = 224, size = 119, device = Store + [1] Substate close: handle = 60 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 225, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 226, size = 2043, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 2 + [2] Reading substate: handle = 227, size = 79, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 141, 211, 182, 27, 8, 110, 213, 118, 124, 205, 149, 251, 20, 119, 195, 234, 70, 58, 213, 0, 97, 24, 137, 30, 59, 56, 255, 159, 241, 249, 161, 223]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 228, size = 827, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 4 + [2] Reading substate: handle = 229, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 5 + [2] Reading substate: handle = 230, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 6 + [2] Reading substate: handle = 231, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [2] Reading substate: handle = 232, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 8 + [2] Reading substate: handle = 233, size = 117, device = Heap + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 9 + [2] Reading substate: handle = 234, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), handle = 10 + [2] Reading substate: handle = 235, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 11 + [2] Reading substate: handle = 236, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 12 + [2] Reading substate: handle = 237, size = 117, device = Heap + [2] Substate close: handle = 12 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), ident: "get_amount", auth_zone: NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 13 + [2] Reading substate: handle = 238, size = 119, device = Store + [2] Substate close: handle = 13 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 239, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 1 + [3] Reading substate: handle = 240, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 241, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 242, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 4 + [3] Reading substate: handle = 243, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 5 + [3] Reading substate: handle = 244, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 6 + [3] Reading substate: handle = 245, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [3] Reading substate: handle = 246, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), handle = 14 + [2] Reading substate: handle = 247, size = 91, device = Heap + [2] Writing substate: handle = 14, size = 91 + [2] Substate close: handle = 14 + [2] Dropping node: id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e") + [2] Locking substate: node id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f826bb3488e0995bf5a61617767ae4382493b9bb9a8ac3ecf151baa40a2e"), handle = 15 + [2] Reading substate: handle = 248, size = 80, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 16 + [2] Reading substate: handle = 249, size = 79, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 17 + [2] Reading substate: handle = 250, size = 15, device = Heap + [2] Reading substate: handle = 250, size = 15, device = Heap + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 18 + [2] Reading substate: handle = 251, size = 145, device = Store + [2] Substate close: handle = 18 + [2] Writing substate: handle = 17, size = 75 + [2] Substate close: handle = 17 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), handle = 61 + [1] Reading substate: handle = 252, size = 91, device = Heap + [1] Writing substate: handle = 61, size = 91 + [1] Substate close: handle = 61 + [1] Dropping node: id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac") + [1] Locking substate: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f889f83cb8550e3ec06cee7272b67d0855beff3a66bfbbfb33a127b5cfac"), handle = 62 + [1] Reading substate: handle = 253, size = 80, device = Heap + [1] Substate close: handle = 62 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 63 + [1] Reading substate: handle = 254, size = 79, device = Heap + [1] Substate close: handle = 63 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 64 + [1] Reading substate: handle = 255, size = 79, device = Heap + [1] Substate close: handle = 64 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 65 + [1] Reading substate: handle = 256, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 65 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 66 + [1] Reading substate: handle = 257, size = 79, device = Heap + [1] Substate close: handle = 66 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 67 + [1] Reading substate: handle = 258, size = 79, device = Heap + [1] Substate close: handle = 67 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), ident: "Worktop_take_all", auth_zone: NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 80 + [1] Sending nodes: [] + [1] Sending refs: [NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 68 + [1] Reading substate: handle = 259, size = 119, device = Store + [1] Substate close: handle = 68 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 260, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 1 + [2] Reading substate: handle = 261, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 2 + [2] Reading substate: handle = 262, size = 145, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 263, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 264, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 5 + [2] Reading substate: handle = 265, size = 79, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 6 + [2] Reading substate: handle = 266, size = 75, device = Heap + [2] Reading substate: handle = 266, size = 75, device = Heap + [2] Writing substate: handle = 6, size = 15 + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [2] Reading substate: handle = 267, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Returning nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 69 + [1] Reading substate: handle = 268, size = 117, device = Heap + [1] Substate close: handle = 69 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), handle = 70 + [1] Reading substate: handle = 269, size = 91, device = Heap + [1] Writing substate: handle = 70, size = 91 + [1] Substate close: handle = 70 + [1] Dropping node: id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa") + [1] Locking substate: node id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8132c05da3f61bc79ded22d1a93ec1e2e7e5792321fde9c73ac12a024aa"), handle = 71 + [1] Reading substate: handle = 270, size = 80, device = Heap + [1] Substate close: handle = 71 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 72 + [1] Reading substate: handle = 271, size = 152, device = Store + [1] Substate close: handle = 72 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 73 + [1] Reading substate: handle = 272, size = 152, device = Store + [1] Substate close: handle = 73 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 74 + [1] Reading substate: handle = 273, size = 152, device = Store + [1] Substate close: handle = 74 + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 75 + [1] Reading substate: handle = 274, size = 566, device = Store + [1] Substate close: handle = 75 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 76 + [1] Reading substate: handle = 275, size = 152, device = Store + [1] Substate close: handle = 76 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 7, 95, 111, 119, 110, 101, 114, 95]), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 77 + [1] Substate close: handle = 77 + [1] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(5), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 78 + [1] Reading substate: handle = 277, size = 95, device = Store + [1] Substate close: handle = 78 + [1] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 79 + [1] Reading substate: handle = 278, size = 151, device = Heap + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 80 + [1] Reading substate: handle = 279, size = 123, device = Heap + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 81 + [1] Reading substate: handle = 280, size = 119, device = Heap + [1] Substate close: handle = 81 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 82 + [1] Reading substate: handle = 281, size = 119, device = Heap + [1] Substate close: handle = 82 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 83 + [1] Reading substate: handle = 282, size = 119, device = Heap + [1] Substate close: handle = 83 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 84 + [1] Reading substate: handle = 283, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 84 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 85 + [1] Reading substate: handle = 284, size = 119, device = Heap + [1] Substate close: handle = 85 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 86 + [1] Reading substate: handle = 285, size = 23, device = Store + [1] Substate close: handle = 86 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 87 + [1] Reading substate: handle = 286, size = 119, device = Heap + [1] Substate close: handle = 87 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), ident: "NonFungibleProof_get_local_ids", auth_zone: NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 63 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 88 + [1] Reading substate: handle = 287, size = 119, device = Store + [1] Substate close: handle = 88 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 288, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 1 + [2] Reading substate: handle = 289, size = 119, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 290, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 291, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 4 + [2] Reading substate: handle = 292, size = 119, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 5 + [2] Reading substate: handle = 293, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 36 + [1] Locking substate: node id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), handle = 89 + [1] Reading substate: handle = 294, size = 91, device = Heap + [1] Writing substate: handle = 89, size = 91 + [1] Substate close: handle = 89 + [1] Dropping node: id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924") + [1] Locking substate: node id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8ee82d466bc566d5289ff5069331f2e6fcf4d06b025393afc5190dd6924"), handle = 90 + [1] Reading substate: handle = 295, size = 80, device = Heap + [1] Substate close: handle = 90 + [1] Substate close: handle = 80 + [1] Substate close: handle = 79 + [1] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 91 + [1] Reading substate: handle = 296, size = 117, device = Heap + [1] Substate close: handle = 91 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), ident: "stake_as_owner", auth_zone: NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 78 + [1] Sending nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 92 + [1] Reading substate: handle = 297, size = 135, device = Store + [1] Substate close: handle = 92 + [1] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 93 + [1] Reading substate: handle = 298, size = 18, device = Store + [1] Substate close: handle = 93 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 0 + [2] Reading substate: handle = 299, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 9, 86, 97, 108, 105, 100, 97, 116, 111, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 1 + [2] Reading substate: handle = 300, size = 5034, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 2 + [2] Reading substate: handle = 301, size = 152, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 71, 167, 47, 116, 92, 189, 249, 52, 183, 60, 60, 192, 128, 137, 15, 244, 206, 20, 120, 112, 171, 198, 153, 44, 210, 60, 75, 86, 92, 144, 220, 76]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 3 + [2] Reading substate: handle = 302, size = 3204, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 4 + [2] Reading substate: handle = 303, size = 117, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 5 + [2] Reading substate: handle = 304, size = 18, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 124, 248, 236, 38, 150, 185, 62, 147, 216, 124, 177, 213, 156, 190, 147, 67, 174, 252, 119, 77, 104, 49, 58, 29, 138, 159, 195, 140, 93, 134, 0, 157]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 6 + [2] Reading substate: handle = 305, size = 26, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 7 + [2] Reading substate: handle = 306, size = 152, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 8 + [2] Reading substate: handle = 307, size = 300, device = Store + [2] Reading substate: handle = 307, size = 300, device = Store + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 9 + [2] Reading substate: handle = 308, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 10 + [2] Reading substate: handle = 309, size = 117, device = Heap + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 11 + [2] Reading substate: handle = 310, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 12 + [2] Reading substate: handle = 311, size = 117, device = Heap + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 13 + [2] Reading substate: handle = 312, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), ident: "get_amount", auth_zone: NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 14 + [2] Reading substate: handle = 313, size = 119, device = Store + [2] Substate close: handle = 14 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 314, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 1 + [3] Reading substate: handle = 315, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 316, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 317, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 4 + [3] Reading substate: handle = 318, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 5 + [3] Reading substate: handle = 319, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 6 + [3] Reading substate: handle = 320, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [3] Reading substate: handle = 321, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), handle = 15 + [2] Reading substate: handle = 322, size = 182, device = Heap + [2] Writing substate: handle = 15, size = 182 + [2] Substate close: handle = 15 + [2] Dropping node: id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8") + [2] Locking substate: node id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f80c8d34d455c86af228eac4b89f29b18a70576eb7e5e7f4b0f136134bb8"), handle = 16 + [2] Reading substate: handle = 323, size = 80, device = Heap + [2] Substate close: handle = 16 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 17 + [2] Reading substate: handle = 324, size = 116, device = Store + [2] Substate close: handle = 17 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 18 + [2] Reading substate: handle = 325, size = 116, device = Store + [2] Substate close: handle = 18 + [2] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 19 + [2] Reading substate: handle = 326, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 20 + [2] Reading substate: handle = 327, size = 116, device = Store + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 21 + [2] Reading substate: handle = 328, size = 116, device = Store + [2] Substate close: handle = 21 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), ident: "get_amount", auth_zone: NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 22 + [2] Reading substate: handle = 329, size = 119, device = Store + [2] Substate close: handle = 22 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 330, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 1 + [3] Reading substate: handle = 331, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 332, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 333, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 4 + [3] Reading substate: handle = 334, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 5 + [3] Reading substate: handle = 335, size = 37, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 6 + [3] Reading substate: handle = 336, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 7 + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), handle = 23 + [2] Reading substate: handle = 338, size = 182, device = Heap + [2] Writing substate: handle = 23, size = 182 + [2] Substate close: handle = 23 + [2] Dropping node: id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794") + [2] Locking substate: node id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a344d7778524ad450f5dd7d53ff212c92684a873482eb425f2cd972794"), handle = 24 + [2] Reading substate: handle = 339, size = 80, device = Heap + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 25 + [2] Reading substate: handle = 340, size = 164, device = Store + [2] Substate close: handle = 25 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 26 + [2] Reading substate: handle = 341, size = 164, device = Store + [2] Substate close: handle = 26 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 27 + [2] Reading substate: handle = 342, size = 164, device = Store + [2] Substate close: handle = 27 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(68), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 28 + [2] Reading substate: handle = 343, size = 587, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 29 + [2] Reading substate: handle = 344, size = 164, device = Store + [2] Substate close: handle = 29 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), ident: "get_total_supply", auth_zone: NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 49 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 30 + [2] Reading substate: handle = 345, size = 119, device = Store + [2] Substate close: handle = 30 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 346, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 347, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 186, 39, 204, 21, 88, 132, 214, 225, 170, 122, 65, 52, 111, 216, 193, 31, 24, 204, 153, 119, 86, 83, 202, 239, 31, 211, 69, 93, 98, 95, 209, 71]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 348, size = 4925, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 349, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 350, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 351, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 352, size = 164, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 7 + [3] Reading substate: handle = 353, size = 164, device = Store + [3] Substate close: handle = 7 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 8 + [3] Reading substate: handle = 354, size = 37, device = Store + [3] Substate close: handle = 8 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 29 + [2] Locking substate: node id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), handle = 31 + [2] Reading substate: handle = 355, size = 127, device = Heap + [2] Writing substate: handle = 31, size = 127 + [2] Substate close: handle = 31 + [2] Dropping node: id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b") + [2] Locking substate: node id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8cc195a8088a28363e300bf5bb8102772aad6dd8ad7d42ecd3efb40162b"), handle = 32 + [2] Reading substate: handle = 356, size = 80, device = Heap + [2] Substate close: handle = 32 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 33 + [2] Reading substate: handle = 357, size = 164, device = Store + [2] Substate close: handle = 33 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 34 + [2] Reading substate: handle = 358, size = 164, device = Store + [2] Substate close: handle = 34 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 35 + [2] Reading substate: handle = 359, size = 164, device = Store + [2] Substate close: handle = 35 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 36 + [2] Reading substate: handle = 360, size = 164, device = Store + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 6, 109, 105, 110, 116, 101, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 37 + [2] Reading substate: handle = 361, size = 95, device = Store + [2] Substate close: handle = 37 + [2] Locking substate: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), handle = 38 + [2] Reading substate: handle = 362, size = 127, device = Heap + [2] Substate close: handle = 38 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), ident: "mint", auth_zone: NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 62 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 39 + [2] Reading substate: handle = 363, size = 119, device = Store + [2] Substate close: handle = 39 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 364, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 365, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 366, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 367, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 4 + [3] Reading substate: handle = 368, size = 164, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 369, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 370, size = 14, device = Store + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 7 + [3] Reading substate: handle = 371, size = 164, device = Store + [3] Substate close: handle = 7 + [3] Allocating node id: entity_type = InternalGenericComponent + [3] Creating node: id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0), Field(1)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleBucket"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 8 + [3] Reading substate: handle = 372, size = 164, device = Store + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 9 + [3] Reading substate: handle = 373, size = 164, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 10 + [3] Reading substate: handle = 374, size = 164, device = Store + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 11 + [3] Reading substate: handle = 375, size = 164, device = Store + [3] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 12 + [3] Reading substate: handle = 376, size = 37, device = Store + [3] Reading substate: handle = 376, size = 37, device = Store + [3] Writing substate: handle = 12, size = 37 + [3] Substate close: handle = 12 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 13 + [3] Reading substate: handle = 377, size = 117, device = Heap + [3] Substate close: handle = 13 + [3] Substate close: handle = 6 + [3] Returning nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 40 + [2] Reading substate: handle = 378, size = 117, device = Heap + [2] Substate close: handle = 40 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), handle = 41 + [2] Reading substate: handle = 379, size = 127, device = Heap + [2] Writing substate: handle = 41, size = 127 + [2] Substate close: handle = 41 + [2] Dropping node: id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551") + [2] Locking substate: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f85de71805788e177da4f28651af71aa71ada75dd22fadc7351221e5e551"), handle = 42 + [2] Reading substate: handle = 380, size = 80, device = Heap + [2] Substate close: handle = 42 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 43 + [2] Reading substate: handle = 381, size = 116, device = Store + [2] Substate close: handle = 43 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 44 + [2] Reading substate: handle = 382, size = 116, device = Store + [2] Substate close: handle = 44 + [2] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 45 + [2] Reading substate: handle = 383, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 45 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 46 + [2] Reading substate: handle = 384, size = 116, device = Store + [2] Substate close: handle = 46 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 47 + [2] Reading substate: handle = 385, size = 116, device = Store + [2] Substate close: handle = 47 + [2] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 48 + [2] Reading substate: handle = 386, size = 18, device = Store + [2] Substate close: handle = 48 + [2] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 49 + [2] Reading substate: handle = 387, size = 117, device = Heap + [2] Substate close: handle = 49 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), ident: "put", auth_zone: NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 67 + [2] Sending nodes: [NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 50 + [2] Reading substate: handle = 388, size = 119, device = Store + [2] Substate close: handle = 50 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 389, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 1 + [3] Reading substate: handle = 390, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 2 + [3] Reading substate: handle = 391, size = 117, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 392, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 393, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 5 + [3] Reading substate: handle = 394, size = 116, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), handle = 6 + [3] Reading substate: handle = 395, size = 145, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 7 + [3] Reading substate: handle = 396, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b") + [3] Locking substate: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f8dcb67606f08ba85447dfd8f4065f0121d9fdc556a04f1cf497a6b11e5b"), handle = 8 + [3] Reading substate: handle = 397, size = 117, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 9 + [3] Reading substate: handle = 398, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 10 + [3] Reading substate: handle = 399, size = 37, device = Store + [3] Reading substate: handle = 399, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 11 + [3] Reading substate: handle = 400, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), handle = 51 + [2] Reading substate: handle = 401, size = 182, device = Heap + [2] Writing substate: handle = 51, size = 182 + [2] Substate close: handle = 51 + [2] Dropping node: id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621") + [2] Locking substate: node id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f85702a39fc446b520c8a8646045b9b17f46e891b2218fa0f0be177d7621"), handle = 52 + [2] Reading substate: handle = 402, size = 80, device = Heap + [2] Substate close: handle = 52 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 53 + [2] Reading substate: handle = 403, size = 116, device = Store + [2] Substate close: handle = 53 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 54 + [2] Reading substate: handle = 404, size = 116, device = Store + [2] Substate close: handle = 54 + [2] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 55 + [2] Reading substate: handle = 405, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 55 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 56 + [2] Reading substate: handle = 406, size = 116, device = Store + [2] Substate close: handle = 56 + [2] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 57 + [2] Reading substate: handle = 407, size = 116, device = Store + [2] Substate close: handle = 57 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), ident: "get_amount", auth_zone: NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 58 + [2] Reading substate: handle = 408, size = 119, device = Store + [2] Substate close: handle = 58 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 409, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 1 + [3] Reading substate: handle = 410, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 411, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 412, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 4 + [3] Reading substate: handle = 413, size = 116, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 5 + [3] Reading substate: handle = 414, size = 37, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 6 + [3] Reading substate: handle = 415, size = 116, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), handle = 7 + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), handle = 59 + [2] Reading substate: handle = 417, size = 182, device = Heap + [2] Writing substate: handle = 59, size = 182 + [2] Substate close: handle = 59 + [2] Dropping node: id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84") + [2] Locking substate: node id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8c7dea28573dccdd43657fe630eecf2682c6c1660db8788571cbd751f84"), handle = 60 + [2] Reading substate: handle = 418, size = 80, device = Heap + [2] Substate close: handle = 60 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 61 + [2] Reading substate: handle = 419, size = 152, device = Store + [2] Substate close: handle = 61 + [2] Locking substate: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("860c6318c6318c6c4e1b40cc6318c6318cf7bca52eb54a6a86318c6318c6"), handle = 62 + [2] Reading substate: handle = 420, size = 128, device = Store + [2] Substate close: handle = 62 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(65), substate_key = Map([92, 33, 2, 12, 16, 67, 111, 110, 115, 101, 110, 115, 117, 115, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 63 + [2] Reading substate: handle = 421, size = 2076, device = Store + [2] Substate close: handle = 63 + [2] Locking substate: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), partition_num = PartitionNumber(1), substate_key = Map([92, 32, 7, 32, 216, 81, 8, 119, 223, 29, 130, 15, 71, 82, 179, 192, 51, 186, 246, 86, 246, 46, 14, 97, 39, 49, 113, 136, 101, 208, 72, 185, 209, 99, 0, 179]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6"), handle = 64 + [2] Reading substate: handle = 422, size = 3416, device = Store + [2] Substate close: handle = 64 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 65 + [2] Reading substate: handle = 423, size = 152, device = Store + [2] Substate close: handle = 65 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 66 + [2] Reading substate: handle = 424, size = 164, device = Store + [2] Substate close: handle = 66 + [2] Locking substate: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("9a8471340c5eced86602d6071b7c90f2d28afef5ae2007a95e53621dbd09"), handle = 67 + [2] Reading substate: handle = 425, size = 218, device = Store + [2] Substate close: handle = 67 + [2] Writing substate: handle = 8, size = 342 + [2] Locking substate: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), handle = 68 + [2] Reading substate: handle = 426, size = 152, device = Store + [2] Substate close: handle = 68 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 69 + [2] Reading substate: handle = 427, size = 117, device = Heap + [2] Substate close: handle = 69 + [2] Substate close: handle = 8 + [2] Returning nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 94 + [1] Reading substate: handle = 428, size = 117, device = Heap + [1] Substate close: handle = 94 + [1] Exiting: output size = 32 + [1] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 95 + [1] Reading substate: handle = 429, size = 151, device = Heap + [1] Writing substate: handle = 95, size = 151 + [1] Substate close: handle = 95 + [1] Dropping node: id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608") + [1] Locking substate: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f849b2f32ebdec969ee354c0f60c4a71513112236daf6bbb0734f3274608"), handle = 96 + [1] Reading substate: handle = 430, size = 80, device = Heap + [1] Substate close: handle = 96 + [1] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 97 + [1] Reading substate: handle = 431, size = 117, device = Heap + [1] Substate close: handle = 97 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 98 + [1] Reading substate: handle = 432, size = 79, device = Heap + [1] Substate close: handle = 98 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 99 + [1] Reading substate: handle = 433, size = 79, device = Heap + [1] Substate close: handle = 99 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 100 + [1] Reading substate: handle = 434, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 100 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 101 + [1] Reading substate: handle = 435, size = 79, device = Heap + [1] Substate close: handle = 101 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 102 + [1] Reading substate: handle = 436, size = 79, device = Heap + [1] Substate close: handle = 102 + [1] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 103 + [1] Reading substate: handle = 437, size = 117, device = Heap + [1] Substate close: handle = 103 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), ident: "Worktop_put", auth_zone: NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 75 + [1] Sending nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 104 + [1] Reading substate: handle = 438, size = 119, device = Store + [1] Substate close: handle = 104 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 439, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 1 + [2] Reading substate: handle = 440, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 2 + [2] Reading substate: handle = 441, size = 117, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 442, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [2] Reading substate: handle = 443, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 5 + [2] Reading substate: handle = 444, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 6 + [2] Reading substate: handle = 445, size = 117, device = Heap + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 7 + [2] Reading substate: handle = 446, size = 117, device = Heap + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), handle = 8 + [2] Reading substate: handle = 447, size = 91, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 9 + [2] Reading substate: handle = 448, size = 117, device = Heap + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 10 + [2] Reading substate: handle = 449, size = 117, device = Heap + [2] Substate close: handle = 10 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), ident: "get_amount", auth_zone: NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 11 + [2] Reading substate: handle = 450, size = 119, device = Store + [2] Substate close: handle = 11 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 451, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 1 + [3] Reading substate: handle = 452, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 453, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 454, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 4 + [3] Reading substate: handle = 455, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 5 + [3] Reading substate: handle = 456, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 6 + [3] Reading substate: handle = 457, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 7 + [3] Reading substate: handle = 458, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), handle = 12 + [2] Reading substate: handle = 459, size = 91, device = Heap + [2] Writing substate: handle = 12, size = 91 + [2] Substate close: handle = 12 + [2] Dropping node: id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb") + [2] Locking substate: node id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f88f989a21c4fa04caafa0e8b6cd4abee3e201c26558bbf0d413e0b7b8eb"), handle = 13 + [2] Reading substate: handle = 460, size = 80, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 14 + [2] Reading substate: handle = 461, size = 79, device = Heap + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 15 + [2] Reading substate: handle = 462, size = 15, device = Heap + [2] Reading substate: handle = 462, size = 15, device = Heap + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 16 + [2] Reading substate: handle = 463, size = 164, device = Store + [2] Substate close: handle = 16 + [2] Writing substate: handle = 15, size = 75 + [2] Substate close: handle = 15 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), handle = 105 + [1] Reading substate: handle = 464, size = 91, device = Heap + [1] Writing substate: handle = 105, size = 91 + [1] Substate close: handle = 105 + [1] Dropping node: id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd") + [1] Locking substate: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8ba32ed6936c31965796adbc42d46477e2961c1f184f09e3caddbc6fecd"), handle = 106 + [1] Reading substate: handle = 465, size = 80, device = Heap + [1] Substate close: handle = 106 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 107 + [1] Reading substate: handle = 466, size = 79, device = Heap + [1] Substate close: handle = 107 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 108 + [1] Reading substate: handle = 467, size = 79, device = Heap + [1] Substate close: handle = 108 + [1] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 109 + [1] Reading substate: handle = 468, size = 123, device = Heap + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Substate close: handle = 109 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 110 + [1] Reading substate: handle = 469, size = 79, device = Heap + [1] Substate close: handle = 110 + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 111 + [1] Reading substate: handle = 470, size = 79, device = Heap + [1] Substate close: handle = 111 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), ident: "Worktop_drain", auth_zone: NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 46 + [1] Sending nodes: [] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 112 + [1] Reading substate: handle = 471, size = 119, device = Store + [1] Substate close: handle = 112 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 472, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 1 + [2] Reading substate: handle = 473, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 474, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 475, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 4 + [2] Reading substate: handle = 476, size = 79, device = Heap + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 5 + [2] Reading substate: handle = 477, size = 75, device = Heap + [2] Reading substate: handle = 477, size = 75, device = Heap + [2] Writing substate: handle = 5, size = 15 + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 6 + [2] Reading substate: handle = 478, size = 117, device = Heap + [2] Substate close: handle = 6 + [2] Returning nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [2] Returning refs: [] + [1] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 113 + [1] Reading substate: handle = 479, size = 117, device = Heap + [1] Substate close: handle = 113 + [1] Exiting: output size = 34 + [1] Locking substate: node id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), handle = 114 + [1] Reading substate: handle = 480, size = 91, device = Heap + [1] Writing substate: handle = 114, size = 91 + [1] Substate close: handle = 114 + [1] Dropping node: id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3") + [1] Locking substate: node id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8d583cc1e5c7c58d67f277e3714445056d42c26ce43fae2794cf58bb8c3"), handle = 115 + [1] Reading substate: handle = 481, size = 80, device = Heap + [1] Substate close: handle = 115 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 116 + [1] Reading substate: handle = 482, size = 119, device = Store + [1] Substate close: handle = 116 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 117 + [1] Reading substate: handle = 483, size = 119, device = Store + [1] Substate close: handle = 117 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 118 + [1] Reading substate: handle = 484, size = 119, device = Store + [1] Substate close: handle = 118 + [1] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 119 + [1] Reading substate: handle = 485, size = 119, device = Store + [1] Substate close: handle = 119 + [1] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 120 + [1] Reading substate: handle = 486, size = 117, device = Heap + [1] Substate close: handle = 120 + [1] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), ident: "try_deposit_batch_or_abort", auth_zone: NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 95 + [1] Sending nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 121 + [1] Reading substate: handle = 487, size = 135, device = Store + [1] Substate close: handle = 121 + [1] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(67), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 122 + [1] Reading substate: handle = 488, size = 18, device = Store + [1] Substate close: handle = 122 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 65, 99, 99, 111, 117, 110, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 0 + [2] Reading substate: handle = 489, size = 138, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 1 + [2] Reading substate: handle = 490, size = 119, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 2 + [2] Reading substate: handle = 491, size = 117, device = Heap + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 3 + [2] Reading substate: handle = 492, size = 18, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 58, 66, 230, 110, 70, 221, 118, 51, 181, 125, 31, 146, 23, 128, 161, 172, 113, 94, 107, 147, 193, 158, 229, 42, 183, 20, 23, 142, 179, 169, 246, 115]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c6ee313598c6318c6318cf7bcaa2e954a9626318c6318c6"), handle = 4 + [2] Reading substate: handle = 493, size = 26, device = Store + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 5 + [2] Reading substate: handle = 494, size = 117, device = Heap + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 6 + [2] Reading substate: handle = 495, size = 119, device = Store + [2] Substate close: handle = 6 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 7 + [2] Reading substate: handle = 496, size = 164, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(66), substate_key = Map([92, 128, 93, 56, 223, 247, 80, 94, 162, 249, 3, 105, 213, 176, 203, 170, 168, 149, 40, 163, 9, 19, 50, 252, 124, 22, 185, 43, 59, 201, 71, 42]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 8 + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 9 + [2] Reading substate: handle = 498, size = 119, device = Store + [2] Substate close: handle = 9 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 10 + [2] Reading substate: handle = 499, size = 17, device = Store + [2] Substate close: handle = 10 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 11 + [2] Reading substate: handle = 500, size = 117, device = Heap + [2] Substate close: handle = 11 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 12 + [2] Reading substate: handle = 501, size = 117, device = Heap + [2] Substate close: handle = 12 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 13 + [2] Reading substate: handle = 502, size = 117, device = Heap + [2] Substate close: handle = 13 + [2] Locking substate: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), handle = 14 + [2] Reading substate: handle = 503, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 14 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 15 + [2] Reading substate: handle = 504, size = 117, device = Heap + [2] Substate close: handle = 15 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 16 + [2] Reading substate: handle = 505, size = 117, device = Heap + [2] Substate close: handle = 16 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), ident: "get_amount", auth_zone: NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 43 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 17 + [2] Reading substate: handle = 506, size = 119, device = Store + [2] Substate close: handle = 17 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 14, 70, 117, 110, 103, 105, 98, 108, 101, 66, 117, 99, 107, 101, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 507, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 1 + [3] Reading substate: handle = 508, size = 117, device = Heap + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 509, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 510, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 4 + [3] Reading substate: handle = 511, size = 117, device = Heap + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 5 + [3] Reading substate: handle = 512, size = 34, device = Heap + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 6 + [3] Reading substate: handle = 513, size = 117, device = Heap + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 7 + [3] Reading substate: handle = 514, size = 15, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 26 + [2] Locking substate: node id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), handle = 18 + [2] Reading substate: handle = 515, size = 182, device = Heap + [2] Writing substate: handle = 18, size = 182 + [2] Substate close: handle = 18 + [2] Dropping node: id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c") + [2] Locking substate: node id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f887dfd9fa558b516a7d39428e119dc47ae2490581e19bbac867fd0e0a7c"), handle = 19 + [2] Reading substate: handle = 516, size = 80, device = Heap + [2] Substate close: handle = 19 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 20 + [2] Reading substate: handle = 517, size = 119, device = Store + [2] Substate close: handle = 20 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 21 + [2] Reading substate: handle = 518, size = 164, device = Store + [2] Substate close: handle = 21 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 56, 223, 247, 80, 94, 162, 249, 3, 105, 213, 176, 203, 170, 168, 149, 40, 163, 9, 19, 50, 252, 124, 22, 185, 43, 59, 201, 71, 42]), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 22 + [2] Substate close: handle = 22 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 23 + [2] Reading substate: handle = 520, size = 119, device = Store + [2] Substate close: handle = 23 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 24 + [2] Reading substate: handle = 521, size = 164, device = Store + [2] Substate close: handle = 24 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(65), substate_key = Map([92, 128, 93, 56, 223, 247, 80, 94, 162, 249, 3, 105, 213, 176, 203, 170, 168, 149, 40, 163, 9, 19, 50, 252, 124, 22, 185, 43, 59, 201, 71, 42]), flags = MUTABLE + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 25 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 26 + [2] Reading substate: handle = 523, size = 164, device = Store + [2] Substate close: handle = 26 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 27 + [2] Reading substate: handle = 524, size = 164, device = Store + [2] Substate close: handle = 27 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 28 + [2] Reading substate: handle = 525, size = 164, device = Store + [2] Substate close: handle = 28 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 29 + [2] Reading substate: handle = 526, size = 164, device = Store + [2] Substate close: handle = 29 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), ident: "create_empty_vault", auth_zone: NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: None, features: {"track_total_supply", "mint", "burn"}, generic_substitutions: [] }, object_type: Global { modules: {RoleAssignment: BlueprintVersion { major: 1, minor: 0, patch: 0 }, Metadata: BlueprintVersion { major: 1, minor: 0, patch: 0 }} } } }), input size = 51 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 30 + [2] Reading substate: handle = 527, size = 119, device = Store + [2] Substate close: handle = 30 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 23, 70, 117, 110, 103, 105, 98, 108, 101, 82, 101, 115, 111, 117, 114, 99, 101, 77, 97, 110, 97, 103, 101, 114, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 528, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 1 + [3] Reading substate: handle = 529, size = 164, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 530, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 531, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 4 + [3] Reading substate: handle = 532, size = 164, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 5 + [3] Reading substate: handle = 533, size = 164, device = Store + [3] Substate close: handle = 5 + [3] Allocating node id: entity_type = InternalFungibleVault + [3] Creating node: id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), type = Some(InternalFungibleVault), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "FungibleVault"), Tuple(1u32, 0u32, 0u32), Enum::[0](Reference("NodeId(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a)")), [], []), Enum::[1]))}) + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 534, size = 164, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 7 + [3] Reading substate: handle = 535, size = 116, device = Heap + [3] Substate close: handle = 7 + [3] Returning nodes: [NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770")] + [3] Returning refs: [] + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 31 + [2] Reading substate: handle = 536, size = 116, device = Heap + [2] Substate close: handle = 31 + [2] Exiting: output size = 32 + [2] Locking substate: node id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), handle = 32 + [2] Reading substate: handle = 537, size = 127, device = Heap + [2] Writing substate: handle = 32, size = 127 + [2] Substate close: handle = 32 + [2] Dropping node: id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d") + [2] Locking substate: node id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8b9870e7fa96111c70d8b254b01288f9fa4de5f6caa63e85ed9736ab30d"), handle = 33 + [2] Reading substate: handle = 538, size = 80, device = Heap + [2] Substate close: handle = 33 + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 34 + [2] Reading substate: handle = 539, size = 116, device = Heap + [2] Substate close: handle = 34 + [2] Writing substate: handle = 25, size = 46 + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 35 + [2] Reading substate: handle = 540, size = 116, device = Store + [2] Substate close: handle = 35 + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 36 + [2] Reading substate: handle = 541, size = 116, device = Store + [2] Substate close: handle = 36 + [2] Locking substate: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), handle = 37 + [2] Reading substate: handle = 542, size = 151, device = Heap + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Substate close: handle = 37 + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 38 + [2] Reading substate: handle = 543, size = 116, device = Store + [2] Substate close: handle = 38 + [2] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 39 + [2] Reading substate: handle = 544, size = 116, device = Store + [2] Substate close: handle = 39 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(6), substate_key = Map([92, 33, 2, 34, 0, 0, 12, 9, 100, 101, 112, 111, 115, 105, 116, 111, 114]), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 40 + [2] Reading substate: handle = 545, size = 18, device = Store + [2] Substate close: handle = 40 + [2] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 41 + [2] Reading substate: handle = 546, size = 117, device = Heap + [2] Substate close: handle = 41 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), ident: "put", auth_zone: NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 67 + [2] Sending nodes: [NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91")] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 42 + [2] Reading substate: handle = 547, size = 119, device = Store + [2] Substate close: handle = 42 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 13, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 548, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 1 + [3] Reading substate: handle = 549, size = 116, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 2 + [3] Reading substate: handle = 550, size = 117, device = Heap + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 551, size = 18, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 4 + [3] Reading substate: handle = 552, size = 26, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 5 + [3] Reading substate: handle = 553, size = 116, device = Store + [3] Substate close: handle = 5 + [3] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 6 + [3] Reading substate: handle = 554, size = 164, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 7 + [3] Reading substate: handle = 555, size = 117, device = Heap + [3] Substate close: handle = 7 + [3] Dropping node: id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91") + [3] Locking substate: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("f84822620fd368c78322a56ef4bced47d0a3701c45e42cda13385bfe1a91"), handle = 8 + [3] Reading substate: handle = 556, size = 117, device = Heap + [3] Substate close: handle = 8 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 9 + [3] Reading substate: handle = 557, size = 116, device = Store + [3] Substate close: handle = 9 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 10 + [3] Reading substate: handle = 558, size = 37, device = Store + [3] Reading substate: handle = 558, size = 37, device = Store + [3] Writing substate: handle = 10, size = 37 + [3] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), handle = 11 + [3] Reading substate: handle = 559, size = 116, device = Store + [3] Substate close: handle = 11 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), handle = 43 + [2] Reading substate: handle = 560, size = 182, device = Heap + [2] Writing substate: handle = 43, size = 182 + [2] Substate close: handle = 43 + [2] Dropping node: id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873") + [2] Locking substate: node id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f849d76b62db9868b1ca43a02a1ab1a64b990844bb9bd126429c26da0873"), handle = 44 + [2] Reading substate: handle = 561, size = 80, device = Heap + [2] Substate close: handle = 44 + [2] Substate close: handle = 25 + [2] Locking substate: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), handle = 45 + [2] Reading substate: handle = 562, size = 119, device = Store + [2] Substate close: handle = 45 + [2] Locking substate: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), handle = 46 + [2] Reading substate: handle = 563, size = 164, device = Store + [2] Substate close: handle = 46 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), handle = 123 + [1] Reading substate: handle = 564, size = 151, device = Heap + [1] Writing substate: handle = 123, size = 151 + [1] Substate close: handle = 123 + [1] Dropping node: id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178") + [1] Locking substate: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8dc7b60c15d44635a221c6cdfba9dd344dfae7a47e1a892cf5c558e8178"), handle = 124 + [1] Reading substate: handle = 565, size = 80, device = Heap + [1] Substate close: handle = 124 + [1] Allocating node id: entity_type = InternalGenericComponent + [1] Creating node: id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [1] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 125 + [1] Reading substate: handle = 566, size = 79, device = Heap + [1] Substate close: handle = 125 + [1] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Worktop_drop", auth_zone: NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef") }), input size = 83 + [1] Sending nodes: [NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376")] + [1] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 126 + [1] Reading substate: handle = 567, size = 119, device = Store + [1] Substate close: handle = 126 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 7, 87, 111, 114, 107, 116, 111, 112, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 568, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 1 + [2] Reading substate: handle = 569, size = 79, device = Heap + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 570, size = 18, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [2] Reading substate: handle = 571, size = 26, device = Store + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 4 + [2] Reading substate: handle = 572, size = 15, device = Heap + [2] Writing substate: handle = 4, size = 15 + [2] Substate close: handle = 4 + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 5 + [2] Reading substate: handle = 573, size = 79, device = Heap + [2] Substate close: handle = 5 + [2] Dropping node: id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376") + [2] Locking substate: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8bab234057139410a644cc55d0438f4df7ced01f851e9fb3ad946614376"), handle = 6 + [2] Reading substate: handle = 574, size = 79, device = Heap + [2] Substate close: handle = 6 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Locking substate: node id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [1] Substate locked: node id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef"), handle = 127 + [1] Reading substate: handle = 575, size = 151, device = Heap + [1] Writing substate: handle = 127, size = 151 + [1] Substate close: handle = 127 + [1] Dropping node: id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef") + [1] Locking substate: node id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8f76113ba6a2abcfc100c6f703074f26e2e2c3ef907f280e6f141fa05ef"), handle = 128 + [1] Reading substate: handle = 576, size = 80, device = Heap + [1] Substate close: handle = 128 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 133 +[0] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 1 +[0] Reading substate: handle = 577, size = 123, device = Heap +[0] Writing substate: handle = 1, size = 93 +[0] Substate close: handle = 1 +[0] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 2 +[0] Reading substate: handle = 578, size = 119, device = Heap +[0] Substate close: handle = 2 +[0] Allocating node id: entity_type = InternalGenericComponent +[0] Creating node: id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) +[0] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 3 +[0] Reading substate: handle = 579, size = 119, device = Heap +[0] Substate close: handle = 3 +[0] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")), hook: OnMove, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 108 +[0] Sending nodes: [] +[0] Sending refs: [NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6")] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [1] Reading substate: handle = 580, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [1] Reading substate: handle = 581, size = 18, device = Store + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [1] Reading substate: handle = 582, size = 26, device = Store + [1] Substate close: handle = 2 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 3 +[0] Invoking: fn = Function(FunctionActor { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, ident: "Proof_drop", auth_zone: NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02") }), input size = 90 +[0] Sending nodes: [NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")] +[0] Sending refs: [] + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [1] Reading substate: handle = 583, size = 18, device = Store + [1] Substate close: handle = 0 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 1 + [1] Reading substate: handle = 584, size = 119, device = Heap + [1] Substate close: handle = 1 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [1] Reading substate: handle = 585, size = 18, device = Store + [1] Substate close: handle = 2 + [1] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [1] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [1] Reading substate: handle = 586, size = 26, device = Store + [1] Substate close: handle = 3 + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 4 + [1] Reading substate: handle = 587, size = 119, device = Heap + [1] Substate close: handle = 4 + [1] Dropping node: id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3") + [1] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [1] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 5 + [1] Reading substate: handle = 588, size = 119, device = Heap + [1] Substate close: handle = 5 + [1] Invoking: fn = BlueprintHook(BlueprintHookActor { receiver: Some(NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3")), hook: OnDrop, blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6): }), input size = 50 + [1] Sending nodes: [] + [1] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 80, 114, 111, 111, 102, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [2] Reading substate: handle = 589, size = 18, device = Store + [2] Substate close: handle = 0 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 1 + [2] Reading substate: handle = 590, size = 18, device = Store + [2] Substate close: handle = 1 + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [2] Reading substate: handle = 591, size = 26, device = Store + [2] Substate close: handle = 2 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 3 + [2] Reading substate: handle = 592, size = 119, device = Heap + [2] Substate close: handle = 3 + [2] Locking substate: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8365c16f3674251afb5efad648140ee4d48db09f6d725dc3d424fedcfe3"), handle = 4 + [2] Reading substate: handle = 593, size = 117, device = Heap + [2] Reading substate: handle = 593, size = 117, device = Heap + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 5 + [2] Reading substate: handle = 594, size = 119, device = Store + [2] Substate close: handle = 5 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [2] Reading substate: handle = 595, size = 119, device = Store + [2] Substate close: handle = 6 + [2] Allocating node id: entity_type = InternalGenericComponent + [2] Creating node: id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), type = Some(InternalGenericComponent), substates = {PartitionNumber(0): [Field(0)], PartitionNumber(64): [Field(0)]}, module 0 = Some({Field(0): Enum::[0](Tuple(Tuple(Tuple(Reference("NodeId(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6)"), "AuthZone"), Tuple(1u32, 0u32, 0u32), Enum::[1], [], []), Enum::[1]))}) + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [2] Reading substate: handle = 596, size = 119, device = Store + [2] Substate close: handle = 7 + [2] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [2] Reading substate: handle = 597, size = 119, device = Store + [2] Substate close: handle = 8 + [2] Locking substate: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), handle = 9 + [2] Reading substate: handle = 598, size = 60, device = Heap + [2] Substate close: handle = 9 + [2] Invoking: fn = Method(MethodActor { method_type: Main, node_id: NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), ident: "unlock_non_fungibles", auth_zone: NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), object_info: ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id: PackageAddress(0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6):, blueprint_version: BlueprintVersion { major: 1, minor: 0, patch: 0 }, outer_obj_info: Some { outer_object: Address(9a4c6318c6318c66346e98cc6318c6318cf7d63aa2a913c6a6318c6318c6) }, features: {}, generic_substitutions: [] }, object_type: Owned } }), input size = 88 + [2] Sending nodes: [] + [2] Sending refs: [] + [2] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 10 + [2] Reading substate: handle = 599, size = 119, device = Store + [2] Substate close: handle = 10 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(66), substate_key = Map([92, 33, 2, 12, 16, 78, 111, 110, 70, 117, 110, 103, 105, 98, 108, 101, 86, 97, 117, 108, 116, 33, 3, 9, 1, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 0 + [3] Reading substate: handle = 600, size = 18, device = Store + [3] Substate close: handle = 0 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 1 + [3] Reading substate: handle = 601, size = 119, device = Store + [3] Substate close: handle = 1 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(69), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 2 + [3] Reading substate: handle = 602, size = 18, device = Store + [3] Substate close: handle = 2 + [3] Locking substate: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), partition_num = PartitionNumber(70), substate_key = Map([92, 32, 7, 32, 18, 221, 10, 106, 125, 14, 34, 42, 151, 146, 109, 160, 58, 219, 90, 119, 104, 211, 28, 199, 197, 194, 189, 104, 40, 225, 74, 125, 37, 250, 58, 96]), flags = (empty) + [3] Substate locked: node id = NodeId("0d906318c6318c61e603c64c6318c6318cf7be913d63aafbc6318c6318c6"), handle = 3 + [3] Reading substate: handle = 603, size = 26, device = Store + [3] Substate close: handle = 3 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 4 + [3] Reading substate: handle = 604, size = 119, device = Store + [3] Substate close: handle = 4 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(1), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 5 + [3] Reading substate: handle = 605, size = 58, device = Store + [3] Reading substate: handle = 605, size = 58, device = Store + [3] Writing substate: handle = 5, size = 18 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 6 + [3] Reading substate: handle = 606, size = 119, device = Store + [3] Substate close: handle = 6 + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 7 + [3] Reading substate: handle = 607, size = 37, device = Store + [3] Reading substate: handle = 607, size = 37, device = Store + [3] Locking substate: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [3] Substate locked: node id = NodeId("98eacd2797aff55b2ab00397da04dd55e6836fc54b8e93c64876f8f6645b"), handle = 8 + [3] Reading substate: handle = 608, size = 119, device = Store + [3] Substate close: handle = 8 + [3] Writing substate: handle = 7, size = 37 + [3] Substate close: handle = 7 + [3] Substate close: handle = 5 + [3] Returning nodes: [] + [3] Returning refs: [] + [2] Exiting: output size = 3 + [2] Locking substate: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE + [2] Substate locked: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), handle = 11 + [2] Reading substate: handle = 609, size = 60, device = Heap + [2] Writing substate: handle = 11, size = 60 + [2] Substate close: handle = 11 + [2] Dropping node: id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030") + [2] Locking substate: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) + [2] Substate locked: node id = NodeId("f8a42a9ec980a2e59c3589137d93a4309679f7cdab0bcb80cf575bc4f030"), handle = 12 + [2] Reading substate: handle = 610, size = 80, device = Heap + [2] Substate close: handle = 12 + [2] Substate close: handle = 4 + [2] Returning nodes: [] + [2] Returning refs: [] + [1] Exiting: output size = 3 + [1] Returning nodes: [] + [1] Returning refs: [] +[0] Exiting: output size = 3 +[0] Locking substate: node id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02"), partition_num = PartitionNumber(64), substate_key = Field(0), flags = MUTABLE +[0] Substate locked: node id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02"), handle = 4 +[0] Reading substate: handle = 611, size = 29, device = Heap +[0] Writing substate: handle = 4, size = 29 +[0] Substate close: handle = 4 +[0] Dropping node: id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02") +[0] Locking substate: node id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f84d75780d9ece8a54e560c39514f77dc745a6859e24fa682739fbb85b02"), handle = 5 +[0] Reading substate: handle = 612, size = 80, device = Heap +[0] Substate close: handle = 5 +[0] Dropping node: id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144") +[0] Locking substate: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), partition_num = PartitionNumber(0), substate_key = Field(0), flags = (empty) +[0] Substate locked: node id = NodeId("f8566cb60a641730a78630f6e1f97aece6da284849b71aa376621e827144"), handle = 6 +[0] Reading substate: handle = 613, size = 80, device = Heap +[0] Substate close: handle = 6 +-------------------------------------------------Interpretation Results------------------------------------------------- +Ok([CallReturn([92, 33, 0]), CallReturn([92, 144, 248, 54, 92, 22, 243, 103, 66, 81, 175, 181, 239, 173, 100, 129, 64, 238, 77, 72, 219, 9, 246, 215, 37, 220, 61, 66, 79, 237, 207, 227]), CallReturn([92, 144, 248, 220, 182, 118, 6, 240, 139, 168, 84, 71, 223, 216, 244, 6, 95, 1, 33, 217, 253, 197, 86, 160, 79, 28, 244, 151, 166, 177, 30, 91]), None, CallReturn([92, 144, 248, 72, 34, 98, 15, 211, 104, 199, 131, 34, 165, 110, 244, 188, 237, 71, 208, 163, 112, 28, 69, 228, 44, 218, 19, 56, 91, 254, 26, 145]), CallReturn([92, 33, 0])]) +------------------------------------------------Execution Cost Breakdown------------------------------------------------ +AfterInvoke : 1210 +AllocateNodeId : 3492 +BeforeInvoke : 4540 +CloseSubstate : 79206 +CreateNode : 31430 +DropNode : 54713 +EmitEvent : 5148 +LockFee : 500 +MarkSubstateAsTransient : 330 +OpenSubstate::GlobalAccount : 656205 +OpenSubstate::GlobalConsensusManager : 40571 +OpenSubstate::GlobalFungibleResourceManager : 392251 +OpenSubstate::GlobalGenericComponent : 43690 +OpenSubstate::GlobalNonFungibleResourceManager : 123653 +OpenSubstate::GlobalPackage : 3080149 +OpenSubstate::GlobalValidator : 247225 +OpenSubstate::InternalFungibleVault : 275263 +OpenSubstate::InternalGenericComponent : 119403 +OpenSubstate::InternalKeyValueStore : 40536 +OpenSubstate::InternalNonFungibleVault : 90182 +PinNode : 420 +PrepareWasmCode : 353866 +QueryActor : 6000 +ReadSubstate : 639643 +RemoveSubstate : 40717 +RunNativeCode::AuthZone_push : 23850 +RunNativeCode::NonFungibleProof_get_local_ids : 9308 +RunNativeCode::Worktop_drain : 11224 +RunNativeCode::Worktop_drop : 17918 +RunNativeCode::Worktop_put : 58066 +RunNativeCode::Worktop_take_all : 14602 +RunNativeCode::create_empty_vault_FungibleResourceManager : 35570 +RunNativeCode::create_proof_of_non_fungibles : 128319 +RunNativeCode::get_amount_FungibleBucket : 55080 +RunNativeCode::get_amount_FungibleVault : 43353 +RunNativeCode::get_total_supply_FungibleResourceManager : 18028 +RunNativeCode::lock_fee : 45243 +RunNativeCode::mint_FungibleResourceManager : 39230 +RunNativeCode::on_drop_NonFungibleProof : 14622 +RunNativeCode::on_move_NonFungibleProof : 12831 +RunNativeCode::put_FungibleVault : 49108 +RunNativeCode::stake_as_owner : 122260 +RunNativeCode::take_FungibleVault : 42457 +RunNativeCode::try_deposit_batch_or_abort : 121257 +RunNativeCode::unlock_non_fungibles_NonFungibleVault : 34403 +RunNativeCode::withdraw : 57851 +RunWasmCode::Faucet_lock_fee : 24589 +SetSubstate : 424 +ValidateTxPayload : 18880 +VerifyTxSignatures : 14000 +WriteSubstate : 21552 +----------------------------------------------Finalization Cost Breakdown----------------------------------------------- +CommitEvents : 45081 +CommitLogs : 0 +CommitStateUpdates::GlobalAccount : 100011 +CommitStateUpdates::GlobalConsensusManager : 100017 +CommitStateUpdates::GlobalFungibleResourceManager : 100009 +CommitStateUpdates::GlobalGenericComponent : 100018 +CommitStateUpdates::GlobalValidator : 100085 +CommitStateUpdates::InternalFungibleVault : 500065 +CommitStateUpdates::InternalNonFungibleVault : 200011 +------------------------------------------------------Fee Summary------------------------------------------------------- +Execution Cost Units Consumed : 7364368 +Finalization Cost Units Consumed : 1245297 +Execution Cost in XRD : 0.3682184 +Finalization Cost in XRD : 0.06226485 +Tipping Cost in XRD : 0 +Storage Cost in XRD : 0.16603469563 +Royalty Costs in XRD : 0 +----------------------------------------------------Application Logs---------------------------------------------------- +--------------------------------------------------------Outcome--------------------------------------------------------- +Success +---------------------------------------------------------Finish--------------------------------------------------------- +---------------------------------------------------Application Events--------------------------------------------------- +EventTypeIdentifier(Method(NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), Main), "LockFeeEvent") - LockFeeEvent +EventTypeIdentifier(Method(NodeId("58d39b18c2cb0885ab8e1da7b25b973ed5489f64e0765696956941aa1cf5"), Main), "WithdrawEvent") - WithdrawEvent +EventTypeIdentifier(Method(NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), Main), "WithdrawEvent") - WithdrawEvent +EventTypeIdentifier(Method(NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), Main), "MintFungibleResourceEvent") - MintFungibleResourceEvent +EventTypeIdentifier(Method(NodeId("5855aa6593187a4797ff138d1c0f22b26e1c3df3e90fda88e163afaf4072"), Main), "DepositEvent") - DepositEvent +EventTypeIdentifier(Method(NodeId("83f95cf2600c1eae862b8b46d0fc179579deb4c4bf7e75f33ee8324b2813"), Main), "StakeEvent") - StakeEvent +EventTypeIdentifier(Method(NodeId("5d38dff7505ea2f90369d5b0cbaaa89528a3091332fc7c16b92b3bc9472a"), Main), "VaultCreationEvent") - VaultCreationEvent +EventTypeIdentifier(Method(NodeId("582326a6d3d5955d57f0c47788a2eb931113b3bb5b82e2f73b592c8ab770"), Main), "DepositEvent") - DepositEvent +EventTypeIdentifier(Method(NodeId("c1f7abd48c518b8ebdc6a35abfbe78583725a97eabdc99224571e0d11d42"), Main), "DepositEvent") - DepositEvent +EventTypeIdentifier(Method(NodeId("588bcef7ec3a23dbedd90a963f924adc453f0e0bd942ecc21d8da9ade549"), Main), "PayFeeEvent") - PayFeeEvent +EventTypeIdentifier(Method(NodeId("58619833de031de3aad69cad02a22656e083e307fb617b28e1b275bd7ed7"), Main), "DepositEvent") - DepositEvent +EventTypeIdentifier(Method(NodeId("5da66318c6318c61f5a61b4c6318c6318cf794aa8d295f14e6318c6318c6"), Main), "BurnFungibleResourceEvent") - BurnFungibleResourceEvent +-----------------------------------------------Application DB Partitions------------------------------------------------ +-------------------------------------------------------Report end------------------------------------------------------- + + +successes: + application::stake_reconciliation::test_stake_reconciliation + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 75 filtered out; finished in 0.14s + diff --git a/radix-engine-tests/tests/application/stake_reconciliation.rs b/radix-engine-tests/tests/application/stake_reconciliation.rs index 2c186f9a845..310766022ef 100644 --- a/radix-engine-tests/tests/application/stake_reconciliation.rs +++ b/radix-engine-tests/tests/application/stake_reconciliation.rs @@ -2,7 +2,18 @@ use radix_common::prelude::*; use radix_engine::updates::*; use radix_substate_store_interface::db_key_mapper::{DatabaseKeyMapper, SpreadPrefixKeyMapper}; use scrypto_test::prelude::*; +use core::fmt::Write; +// HELP DEBUGGING: +// If this test diverges, it's often because of a change to genesis, which has made a substate +// bigger and changed the costing. +// +// The best way to debug this is to run the following to dump a new trace. +// cargo test --package radix-engine-tests --test application -- application::stake_reconciliation::test_stake_reconciliation --exact --show-output > radix-engine-tests/tests/application/reconciliation_log.txt +// +// And look for line/s which are different. Likely it'll be some substate write. +// Then look further down this test for a block of code to uncomment, which can be used to read that +// value from the database. #[test] fn test_stake_reconciliation() { // Arrange @@ -29,8 +40,7 @@ fn test_stake_reconciliation() { receipt.expect_commit_success(); // Store current DB substate value hashes for comparision after staking execution - let mut pre_transaction_substates: HashMap<(DbPartitionKey, DbSortKey), Vec> = - HashMap::new(); + let mut pre_transaction_substates: IndexMap<(DbPartitionKey, DbSortKey), Vec> = IndexMap::new(); let db = ledger.substate_db(); let old_keys: Vec = db.list_partition_keys().collect(); for key in old_keys { @@ -58,6 +68,48 @@ fn test_stake_reconciliation() { vec![NonFungibleGlobalId::from_public_key(&account_pk)], ); + let address_encoder = AddressBech32Encoder::for_simulator(); + let receipt_display_context = TransactionReceiptDisplayContextBuilder::new() + .encoder(&address_encoder) + .display_state_updates(true) + .use_ansi_colors(false) + .schema_lookup_from_db(ledger.substate_db()) + .set_max_substate_length_to_display(1000000) + .build(); + + // UNCOMMENT THESE LINES TO PRINT OUT A NICE DISPLAY OF A SINGLE SUBSTATE + // { + // let mut error_message = String::new(); + // let node_id = NodeId(hex::decode("0d906318c6318c6c4e1b40cc6318c6318cf7bfd5d45f48c686318c6318c6").unwrap().try_into().unwrap()); + // let partition_num = PartitionNumber(1); + // let substate_key = SubstateKey::Map(ScryptoRawPayload::from_valid_payload(vec![92, 32, 7, 32, 220, 0, 156, 5, 6, 83, 96, 189, 222, 100, 29, 145, 160, 147, 193, 127, 71, 54, 135, 62, 103, 35, 126, 168, 230, 117, 203, 71, 36, 132, 155, 157])); + // let value_from_database: ScryptoRawValue = ledger.substate_db() + // .get_mapped::(&node_id, partition_num, &substate_key) + // .unwrap(); + // let substate_value = value_from_database.into_payload_bytes(); + // let state_updates = StateUpdates { + // by_node: indexmap! { + // node_id => NodeStateUpdates::Delta { + // by_partition: indexmap! { + // partition_num => PartitionStateUpdates::Delta { + // by_substate: indexmap! { + // substate_key.clone() => DatabaseUpdate::Set(substate_value.clone()) + // } + // } + // } + // } + // } + // }; + // let system_structure = SystemStructure::resolve(ledger.substate_db(), &state_updates, &vec![]); + // format_substate_value( + // &mut error_message, + // &system_structure.substate_system_structures[&node_id][&partition_num][&substate_key], + // &receipt_display_context, + // &substate_value, + // ).unwrap(); + // panic!(error_message) + // } + // Assert println!("{:-^120}", "Application Events"); @@ -210,20 +262,36 @@ fn test_stake_reconciliation() { }; let post_transaction_partitions: Vec<_> = post_transaction_partitions.collect(); + + let mut error_message = String::new(); + for (full_key, (expected_old_value, _)) in expected_updated_substates.iter() { let database_value = &pre_transaction_substates[full_key]; + let (node_id, partition) = SpreadPrefixKeyMapper::from_db_partition_key(&full_key.0); + // Luckily they're all fields + let substate_key = SpreadPrefixKeyMapper::from_db_sort_key::(&full_key.1); let address = AddressBech32Encoder::for_simulator() - .encode( - &SpreadPrefixKeyMapper::from_db_partition_key(&full_key.0) - .0 - .0, - ) + .encode(&node_id.0) .unwrap(); - assert_eq!( - database_value, expected_old_value, - "The pre-transaction value of updated substate under {} is not expected: {:?}", - address, full_key - ); + if database_value != expected_old_value { + let substate_structure = &commit_result.system_structure.substate_system_structures[&node_id][&partition][&substate_key]; + write!(&mut error_message, "\nThe pre-transaction value of updated substate under {address} {partition:?} {substate_key:?} has changed.").unwrap(); + write!(&mut error_message, "\n\nEXPECTED:").unwrap(); + format_receipt_substate_value( + &mut error_message, + &substate_structure, + &receipt_display_context, + &expected_old_value, + ).unwrap(); + write!(&mut error_message, "\nACTUAL:").unwrap(); + format_receipt_substate_value( + &mut error_message, + &substate_structure, + &receipt_display_context, + &database_value, + ).unwrap(); + write!(&mut error_message, "\n").unwrap(); + } // For printing: // let (db_partition_key, db_sort_key) = full_key; // println!( @@ -246,6 +314,9 @@ fn test_stake_reconciliation() { // hex::encode(new_value) // ); } + if error_message.len() > 0 { + panic!("{}", error_message); + } for key in post_transaction_partitions { let partition_entries = ledger.substate_db().list_entries(&key); diff --git a/radix-engine-tests/tests/blueprints/access_controller_big_vault.rs b/radix-engine-tests/tests/blueprints/access_controller_big_vault.rs index 5d9f8727166..20dbadf865f 100644 --- a/radix-engine-tests/tests/blueprints/access_controller_big_vault.rs +++ b/radix-engine-tests/tests/blueprints/access_controller_big_vault.rs @@ -74,15 +74,15 @@ impl VmInvoke for TestInvoke { input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, { match export_name { "new" => { - let size: (usize,) = input.as_typed().unwrap(); - let entries = iter::repeat((ScryptoValue::Tuple { fields: vec![] },)) + let size: (usize,) = input.into_typed().unwrap(); + let entries = iter::repeat((ScryptoOwnedRawValue::unit(),)) .take(size.0) .collect(); let result = api.call_function( diff --git a/radix-engine-tests/tests/blueprints/account_locker.rs b/radix-engine-tests/tests/blueprints/account_locker.rs index 146415e88aa..cc4ab6c51c9 100644 --- a/radix-engine-tests/tests/blueprints/account_locker.rs +++ b/radix-engine-tests/tests/blueprints/account_locker.rs @@ -2999,7 +2999,7 @@ impl AccountLockerEvent { pub fn new( emitter: &Emitter, event_name: &str, - event_data: &[u8], + event_data: &ScryptoRawPayload, ) -> Option { if let Emitter::Method(node_id, ModuleId::Main) = emitter { if node_id @@ -3007,13 +3007,13 @@ impl AccountLockerEvent { .is_some_and(|entity_type| entity_type == EntityType::GlobalAccountLocker) { match event_name { - StoreEvent::EVENT_NAME => scrypto_decode(event_data) + StoreEvent::EVENT_NAME => event_data.decode_as() .map(AccountLockerEvent::StoreEvent) .ok(), - ClaimEvent::EVENT_NAME => scrypto_decode(event_data) + ClaimEvent::EVENT_NAME => event_data.decode_as() .map(AccountLockerEvent::ClaimEvent) .ok(), - RecoverEvent::EVENT_NAME => scrypto_decode(event_data) + RecoverEvent::EVENT_NAME => event_data.decode_as() .map(AccountLockerEvent::RecoveryEvent) .ok(), _ => None, diff --git a/radix-engine-tests/tests/blueprints/pool_multi_resource.rs b/radix-engine-tests/tests/blueprints/pool_multi_resource.rs index 5ea748431f7..9e455452d8e 100644 --- a/radix-engine-tests/tests/blueprints/pool_multi_resource.rs +++ b/radix-engine-tests/tests/blueprints/pool_multi_resource.rs @@ -543,7 +543,7 @@ fn contribution_emits_expected_event() { .iter() .find_map(|(event_type_identifier, event_data)| { if ledger.ledger.event_name(event_type_identifier) == "ContributionEvent" { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -579,7 +579,7 @@ fn redemption_emits_expected_event() { .iter() .find_map(|(event_type_identifier, event_data)| { if ledger.ledger.event_name(event_type_identifier) == "RedemptionEvent" { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -609,7 +609,7 @@ fn deposits_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "DepositEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -647,7 +647,7 @@ fn withdraws_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -685,7 +685,7 @@ fn withdraws_with_rounding_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } diff --git a/radix-engine-tests/tests/blueprints/pool_one_resource.rs b/radix-engine-tests/tests/blueprints/pool_one_resource.rs index 3edb7d64baa..f8b20159ca3 100644 --- a/radix-engine-tests/tests/blueprints/pool_one_resource.rs +++ b/radix-engine-tests/tests/blueprints/pool_one_resource.rs @@ -484,7 +484,7 @@ fn contribution_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "ContributionEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -517,7 +517,7 @@ fn redemption_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "RedemptionEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -544,7 +544,7 @@ fn deposits_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "DepositEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -573,7 +573,7 @@ fn withdraw_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -606,7 +606,7 @@ fn withdraw_with_rounding_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } diff --git a/radix-engine-tests/tests/blueprints/pool_two_resource.rs b/radix-engine-tests/tests/blueprints/pool_two_resource.rs index c411eade3df..6a88a34490a 100644 --- a/radix-engine-tests/tests/blueprints/pool_two_resource.rs +++ b/radix-engine-tests/tests/blueprints/pool_two_resource.rs @@ -547,7 +547,7 @@ fn contribution_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "ContributionEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -590,7 +590,7 @@ fn redemption_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "RedemptionEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -626,7 +626,7 @@ fn deposits_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "DepositEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -664,7 +664,7 @@ fn withdraw_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } @@ -702,7 +702,7 @@ fn withdraw_with_rounding_emits_expected_event() { if ledger.ledger.event_name(event_type_identifier) == "WithdrawEvent" && is_pool_emitter(event_type_identifier) { - Some(scrypto_decode(event_data).unwrap()) + Some(event_data.decode_as().unwrap()) } else { None } diff --git a/radix-engine-tests/tests/flash/access_controller.rs b/radix-engine-tests/tests/flash/access_controller.rs index 3a32ea5cf42..474d17b5c12 100644 --- a/radix-engine-tests/tests/flash/access_controller.rs +++ b/radix-engine-tests/tests/flash/access_controller.rs @@ -1130,7 +1130,7 @@ where AccessControllerV2Field::State.field_index(), ) .unwrap() - .as_typed::() + .into_typed::() .unwrap() .into_content() .into_versions() diff --git a/radix-engine-tests/tests/kernel/kernel.rs b/radix-engine-tests/tests/kernel/kernel.rs index 4fba10cd4bc..7231000ece8 100644 --- a/radix-engine-tests/tests/kernel/kernel.rs +++ b/radix-engine-tests/tests/kernel/kernel.rs @@ -205,11 +205,11 @@ impl KernelCallbackObject for TestCallbackObject { fn invoke_upstream( args: &IndexedScryptoValue, _api: &mut Y, - ) -> Result + ) -> Result where Y: KernelApi, { - Ok(args.clone()) + Ok(args.ref_into_owned()) } fn auto_drop(_nodes: Vec, _api: &mut Y) -> Result<(), RuntimeError> diff --git a/radix-engine-tests/tests/kernel/kernel_open_substate.rs b/radix-engine-tests/tests/kernel/kernel_open_substate.rs index 2dd49f56344..2d74d77b56d 100644 --- a/radix-engine-tests/tests/kernel/kernel_open_substate.rs +++ b/radix-engine-tests/tests/kernel/kernel_open_substate.rs @@ -94,7 +94,7 @@ pub fn test_open_substate_of_invisible_package_address() { MAIN_BASE_PARTITION .at_offset(PACKAGE_AUTH_TEMPLATE_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&BlueprintVersionKey::new_default("Test")).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&BlueprintVersionKey::new_default("Test")).unwrap()), LockFlags::read_only(), SystemLockData::default(), ); diff --git a/radix-engine-tests/tests/kernel/panics.rs b/radix-engine-tests/tests/kernel/panics.rs index f36106aa562..0f74e103645 100644 --- a/radix-engine-tests/tests/kernel/panics.rs +++ b/radix-engine-tests/tests/kernel/panics.rs @@ -79,7 +79,7 @@ impl KernelSubstateApi for MockKernel { panic1!() } - fn kernel_open_substate_with_default IndexedScryptoValue>( + fn kernel_open_substate_with_default IndexedOwnedScryptoValue>( &mut self, _: &NodeId, _: PartitionNumber, @@ -102,14 +102,14 @@ impl KernelSubstateApi for MockKernel { fn kernel_read_substate( &mut self, _: SubstateHandle, - ) -> Result<&IndexedScryptoValue, RuntimeError> { + ) -> Result<&IndexedOwnedScryptoValue, RuntimeError> { panic1!() } fn kernel_write_substate( &mut self, _: SubstateHandle, - _: IndexedScryptoValue, + _: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { panic1!() } @@ -119,7 +119,7 @@ impl KernelSubstateApi for MockKernel { _: &NodeId, _: PartitionNumber, _: SubstateKey, - _: IndexedScryptoValue, + _: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { panic1!() } @@ -129,7 +129,7 @@ impl KernelSubstateApi for MockKernel { _: &NodeId, _: PartitionNumber, _: &SubstateKey, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { panic1!() } @@ -138,7 +138,7 @@ impl KernelSubstateApi for MockKernel { _: &NodeId, _: PartitionNumber, _: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { panic1!() } @@ -156,7 +156,7 @@ impl KernelSubstateApi for MockKernel { _: &NodeId, _: PartitionNumber, _: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { panic1!() } } @@ -165,7 +165,7 @@ impl KernelInvokeApi for MockKernel { fn kernel_invoke( &mut self, _: Box>, - ) -> Result { + ) -> Result { panic1!() } } diff --git a/radix-engine-tests/tests/kernel/test_environment.rs b/radix-engine-tests/tests/kernel/test_environment.rs index 071fe14bad1..838a599b0f9 100644 --- a/radix-engine-tests/tests/kernel/test_environment.rs +++ b/radix-engine-tests/tests/kernel/test_environment.rs @@ -255,7 +255,7 @@ fn can_read_kv_entries_from_a_store_read_from_state() { let handle = env .key_value_store_open_entry( kv_store.as_node_id(), - &scrypto_encode(&Hash([0; 32])).unwrap(), + scrypto_encode_to_value(&Hash([0; 32])).unwrap().into_unvalidated(), LockFlags::empty(), ) .unwrap(); diff --git a/radix-engine-tests/tests/system/auth_zone.rs b/radix-engine-tests/tests/system/auth_zone.rs index 1ccfe9cdce2..0133b5a4659 100644 --- a/radix-engine-tests/tests/system/auth_zone.rs +++ b/radix-engine-tests/tests/system/auth_zone.rs @@ -22,7 +22,7 @@ fn should_not_be_able_to_move_auth_zone() { input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -39,7 +39,7 @@ fn should_not_be_able_to_move_auth_zone() { )?; } "hi" => { - return Ok(input.clone()); + return Ok(input.ref_into_owned()); } _ => {} } diff --git a/radix-engine-tests/tests/system/bootstrap.rs b/radix-engine-tests/tests/system/bootstrap.rs index 0442c97182b..1ce514b79a5 100644 --- a/radix-engine-tests/tests/system/bootstrap.rs +++ b/radix-engine-tests/tests/system/bootstrap.rs @@ -312,7 +312,7 @@ fn test_genesis_resource_with_initial_allocation(owned_resource: bool) { .fetch_substate::>( created_owner_badge.as_node_id(), METADATA_BASE_PARTITION, - &SubstateKey::Map(scrypto_encode("tags").unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload("tags").unwrap()), ) .unwrap(); assert!(substate.is_locked()); @@ -674,7 +674,7 @@ fn mint_burn_events_should_match_resource_supply_post_genesis_and_notarized_tx() "MintFungibleResourceEvent" => { total_mint_amount = total_mint_amount .checked_add( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .amount, ) @@ -683,7 +683,7 @@ fn mint_burn_events_should_match_resource_supply_post_genesis_and_notarized_tx() "BurnFungibleResourceEvent" => { total_burn_amount = total_burn_amount .checked_add( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .amount, ) diff --git a/radix-engine-tests/tests/system/consensus_manager.rs b/radix-engine-tests/tests/system/consensus_manager.rs index c70acc3e91e..c101dbb9082 100644 --- a/radix-engine-tests/tests/system/consensus_manager.rs +++ b/radix-engine-tests/tests/system/consensus_manager.rs @@ -955,7 +955,7 @@ fn validator_set_receives_emissions_proportional_to_stake_on_epoch_change() { .map(|(id, data)| { ( extract_emitter_node_id(id), - scrypto_decode::(data).unwrap(), + data.decode_as::().unwrap(), ) }) .collect::>(); diff --git a/radix-engine-tests/tests/system/events.rs b/radix-engine-tests/tests/system/events.rs index 8238af68df3..3ad8945ce54 100644 --- a/radix-engine-tests/tests/system/events.rs +++ b/radix-engine-tests/tests/system/events.rs @@ -1038,7 +1038,7 @@ fn consensus_manager_epoch_update_emits_epoch_change_event() { let epoch_change_events = events .into_iter() .filter(|(id, _data)| ledger.is_event_name_equal::(id)) - .map(|(_id, data)| scrypto_decode::(&data).unwrap()) + .map(|(_id, data)| data.decode_as::().unwrap()) .collect::>(); assert_eq!(epoch_change_events.len(), 1); let event = epoch_change_events.first().unwrap(); @@ -1815,8 +1815,8 @@ struct RegisteredEvent { number: u64, } -fn is_decoded_equal(expected: &T, actual: &[u8]) -> bool { - scrypto_decode::(&actual).unwrap() == *expected +fn is_decoded_equal(expected: &T, actual: &ScryptoRawPayload) -> bool { + actual.decode_as::().unwrap() == *expected } fn create_all_allowed_resource(ledger: &mut DefaultLedgerSimulator) -> ResourceAddress { @@ -1904,7 +1904,7 @@ fn mint_burn_events_should_match_total_supply_for_fungible_resource() { "MintFungibleResourceEvent" => { total_mint_amount = total_mint_amount .checked_add( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .amount, ) @@ -1913,7 +1913,7 @@ fn mint_burn_events_should_match_total_supply_for_fungible_resource() { "BurnFungibleResourceEvent" => { total_burn_amount = total_burn_amount .checked_add( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .amount, ) @@ -2013,14 +2013,14 @@ fn mint_burn_events_should_match_total_supply_for_non_fungible_resource() { match actual_type_name.as_str() { "MintNonFungibleResourceEvent" => { total_mint_non_fungibles.extend( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .ids, ); } "BurnNonFungibleResourceEvent" => { total_burn_non_fungibles.extend( - scrypto_decode::(&event.1) + event.1.decode_as::() .unwrap() .ids, ); @@ -2096,7 +2096,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { fungible_vault::WithdrawEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&vault_withdraw_event.1).unwrap(), + vault_withdraw_event.1.decode_as::().unwrap(), fungible_vault::WithdrawEvent::new(dec!("1")) ) } @@ -2106,7 +2106,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { account::WithdrawEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&account_withdraw_event.1).unwrap(), + vault_withdraw_event.1.decode_as::().unwrap(), account::WithdrawEvent::Fungible(XRD, dec!("1")) ) } @@ -2116,7 +2116,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { fungible_vault::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&vault_deposit_event.1).unwrap(), + vault_withdraw_event.1.decode_as::().unwrap(), fungible_vault::DepositEvent::new(dec!("1")) ) } @@ -2126,7 +2126,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { account::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&account_deposit_event.1).unwrap(), + vault_withdraw_event.1.decode_as::().unwrap(), account::DepositEvent::Fungible(XRD, dec!("1")) ) } @@ -2184,7 +2184,7 @@ fn account_withdraw_and_deposit_non_fungibles_should_emit_correct_event() { non_fungible_vault::WithdrawEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&vault_withdraw_event.1).unwrap(), + vault_withdraw_event.1.decode_as::().unwrap(), non_fungible_vault::WithdrawEvent::new(expected_non_fungibles.clone()) ) } @@ -2194,7 +2194,7 @@ fn account_withdraw_and_deposit_non_fungibles_should_emit_correct_event() { account::WithdrawEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&account_withdraw_event.1).unwrap(), + account_withdraw_event.1.decode_as::().unwrap(), account::WithdrawEvent::NonFungible(resource_address, expected_non_fungibles.clone()) ) } @@ -2204,7 +2204,7 @@ fn account_withdraw_and_deposit_non_fungibles_should_emit_correct_event() { non_fungible_vault::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&vault_deposit_event.1).unwrap(), + vault_deposit_event.1.decode_as::().unwrap(), non_fungible_vault::DepositEvent::new(expected_non_fungibles.clone()) ) } @@ -2214,7 +2214,7 @@ fn account_withdraw_and_deposit_non_fungibles_should_emit_correct_event() { account::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&account_deposit_event.1).unwrap(), + account_deposit_event.1.decode_as::().unwrap(), account::DepositEvent::NonFungible(resource_address, expected_non_fungibles) ) } @@ -2340,9 +2340,7 @@ fn account_configuration_emits_expected_events() { account::SetResourcePreferenceEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &set_resource_preference_allowed_event.1 - ) + set_resource_preference_allowed_event.1.decode_as::() .unwrap(), account::SetResourcePreferenceEvent { resource_address, @@ -2360,10 +2358,8 @@ fn account_configuration_emits_expected_events() { account::SetResourcePreferenceEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &set_resource_preference_disallowed_event.1 - ) - .unwrap(), + set_resource_preference_disallowed_event.1.decode_as::() + .unwrap(), account::SetResourcePreferenceEvent { resource_address, preference: ResourcePreference::Disallowed @@ -2380,9 +2376,7 @@ fn account_configuration_emits_expected_events() { account::RemoveResourcePreferenceEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &remove_resource_preference_event.1 - ) + remove_resource_preference_event.1.decode_as::() .unwrap(), account::RemoveResourcePreferenceEvent { resource_address } ) @@ -2397,9 +2391,7 @@ fn account_configuration_emits_expected_events() { account::SetDefaultDepositRuleEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &set_default_deposit_rule_accept_event.1 - ) + set_default_deposit_rule_accept_event.1.decode_as::() .unwrap(), account::SetDefaultDepositRuleEvent { default_deposit_rule: DefaultDepositRule::Accept @@ -2416,10 +2408,8 @@ fn account_configuration_emits_expected_events() { account::SetDefaultDepositRuleEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &set_default_deposit_rule_reject_event.1 - ) - .unwrap(), + set_default_deposit_rule_reject_event.1.decode_as::() + .unwrap(), account::SetDefaultDepositRuleEvent { default_deposit_rule: DefaultDepositRule::Reject } @@ -2435,9 +2425,7 @@ fn account_configuration_emits_expected_events() { account::SetDefaultDepositRuleEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &set_default_deposit_rule_allow_existing_event.1 - ) + set_default_deposit_rule_allow_existing_event.1.decode_as::() .unwrap(), account::SetDefaultDepositRuleEvent { default_deposit_rule: DefaultDepositRule::AllowExisting @@ -2454,10 +2442,8 @@ fn account_configuration_emits_expected_events() { account::AddAuthorizedDepositorEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &add_authorized_depositor_event.1 - ) - .unwrap(), + add_authorized_depositor_event.1.decode_as::() + .unwrap(), account::AddAuthorizedDepositorEvent { authorized_depositor_badge: authorized_depositor_badge.clone() } @@ -2473,10 +2459,7 @@ fn account_configuration_emits_expected_events() { account::RemoveAuthorizedDepositorEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::( - &remove_authorized_depositor_event.1 - ) - .unwrap(), + remove_authorized_depositor_event.1.decode_as::().unwrap(), account::RemoveAuthorizedDepositorEvent { authorized_depositor_badge: authorized_depositor_badge } @@ -2551,7 +2534,7 @@ fn account_deposit_batch_emits_expected_events() { account::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&xrd_deposit_event.1).unwrap(), + xrd_deposit_event.1.decode_as::().unwrap(), account::DepositEvent::Fungible(XRD, dec!("1")) ) } @@ -2565,7 +2548,7 @@ fn account_deposit_batch_emits_expected_events() { account::DepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&nfts_deposit_event.1).unwrap(), + nfts_deposit_event.1.decode_as::().unwrap(), account::DepositEvent::NonFungible( resource_address, indexset!( @@ -2640,7 +2623,7 @@ fn account_deposit_batch_methods_emits_expected_events_when_deposit_fails() { account::RejectedDepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&xrd_rejected_deposit_event.1).unwrap(), + xrd_rejected_deposit_event.1.decode_as::().unwrap(), account::RejectedDepositEvent::Fungible(XRD, dec!("1")) ) } @@ -2654,8 +2637,7 @@ fn account_deposit_batch_methods_emits_expected_events_when_deposit_fails() { account::RejectedDepositEvent::EVENT_NAME ); assert_eq!( - scrypto_decode::(&nfts_rejected_deposit_event.1) - .unwrap(), + nfts_rejected_deposit_event.1.decode_as::().unwrap(), account::RejectedDepositEvent::NonFungible( resource_address, indexset!( @@ -2719,7 +2701,7 @@ fn event_replacements_occur_as_expected() { ) ); assert_eq!( - scrypto_decode::(&metadata_event_data).unwrap(), + metadata_event_data.decode_as::().unwrap(), SetMetadataEvent { key: "Hello".to_owned(), value: MetadataValue::String("World".to_owned()) diff --git a/radix-engine-tests/tests/system/execution_cost.rs b/radix-engine-tests/tests/system/execution_cost.rs index b987efae4dd..b7598a590ee 100644 --- a/radix-engine-tests/tests/system/execution_cost.rs +++ b/radix-engine-tests/tests/system/execution_cost.rs @@ -153,7 +153,7 @@ pub fn to_json( let context = ScryptoValueDisplayContext::with_optional_bech32(Some(&encoder)); let payload = scrypto_encode(&value).unwrap(); - let raw_payload = ScryptoRawPayload::new_from_valid_slice(&payload); + let raw_payload = ScryptoRawPayload::from_valid_payload_slice(&payload); let serializable = raw_payload.serializable(SerializationParameters::WithSchema { mode: representations::SerializationMode::Natural, custom_context: context, diff --git a/radix-engine-tests/tests/system/royalty_edge_cases.rs b/radix-engine-tests/tests/system/royalty_edge_cases.rs index 17cec1809ce..046c5f47f57 100644 --- a/radix-engine-tests/tests/system/royalty_edge_cases.rs +++ b/radix-engine-tests/tests/system/royalty_edge_cases.rs @@ -519,7 +519,7 @@ fn component_and_package_royalties_are_both_applied() { /// This test is here to check if the following bit of code can cause a panic in the Royalty module: /// https://github.com/radixdlt/radixdlt-scrypto/blob/v0.12.1/radix-engine/src/system/node_modules/royalty/package.rs#L455 /// I suspected that this could cause a panic since we're defaulting to one type and then calling -/// `.as_typed` with a different type later down in the code. It turns out that this bit doesn't +/// `.into_typed` with a different type later down in the code. It turns out that this bit doesn't /// panic since all [`KeyValueEntrySubstate::::default()`] are equal when we scrypto encode them, /// so decoding as a different type is no issue. I've still went ahead and changed the type there as /// I believe that it's better. diff --git a/radix-engine-tests/tests/system/system_access_rule.rs b/radix-engine-tests/tests/system/system_access_rule.rs index 75fa6729907..9ea36f19241 100644 --- a/radix-engine-tests/tests/system/system_access_rule.rs +++ b/radix-engine-tests/tests/system/system_access_rule.rs @@ -240,7 +240,7 @@ fn creating_an_access_rule_which_is_beyond_the_depth_limit_should_error( _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_actor_collection.rs b/radix-engine-tests/tests/system/system_actor_collection.rs index 9e15fe07f98..3af8f6a9d4e 100644 --- a/radix-engine-tests/tests/system/system_actor_collection.rs +++ b/radix-engine-tests/tests/system/system_actor_collection.rs @@ -25,17 +25,17 @@ fn opening_read_only_key_value_entry_should_not_create_substates() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, { match export_name { "test" => { - let _handle = api.actor_open_key_value_entry( + let _handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, 0u8, - &scrypto_encode(&()).unwrap(), + &(), LockFlags::read_only(), )?; } diff --git a/radix-engine-tests/tests/system/system_actor_field.rs b/radix-engine-tests/tests/system/system_actor_field.rs index 822da08a0d4..31d567bf902 100644 --- a/radix-engine-tests/tests/system/system_actor_field.rs +++ b/radix-engine-tests/tests/system/system_actor_field.rs @@ -26,7 +26,7 @@ fn opening_non_existent_outer_object_fields_should_not_panic() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_call_method.rs b/radix-engine-tests/tests/system/system_call_method.rs index 491121fd397..5848bd00eaa 100644 --- a/radix-engine-tests/tests/system/system_call_method.rs +++ b/radix-engine-tests/tests/system/system_call_method.rs @@ -23,7 +23,7 @@ fn call_method_with_owned_actor_should_fail() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_errors.rs b/radix-engine-tests/tests/system/system_errors.rs index 293c847b6cb..33cb5a458f7 100644 --- a/radix-engine-tests/tests/system/system_errors.rs +++ b/radix-engine-tests/tests/system/system_errors.rs @@ -22,7 +22,7 @@ impl VmInvoke for TestInvoke { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -42,7 +42,7 @@ impl VmInvoke for TestInvoke { let self_node_id = api.actor_get_node_id(ACTOR_REF_SELF)?; api.key_value_store_open_entry( &self_node_id, - &scrypto_encode(&()).unwrap(), + scrypto_encode_to_value(&()).unwrap().into_unvalidated(), LockFlags::read_only(), )?; } @@ -57,10 +57,10 @@ impl VmInvoke for TestInvoke { api.actor_open_field(ACTOR_STATE_SELF, 4, LockFlags::read_only())?; } "invalid_collection" => { - api.actor_open_key_value_entry( + api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, 4, - &scrypto_encode(&()).unwrap(), + &(), LockFlags::read_only(), )?; } @@ -77,7 +77,7 @@ impl VmInvoke for TestInvoke { "invalid_event_flags" => { api.actor_emit_event( "event".to_string(), - scrypto_encode(&()).unwrap(), + scrypto_encode_to_payload(&()).unwrap().into_unvalidated(), EventFlags::FORCE_WRITE, )?; } diff --git a/radix-engine-tests/tests/system/system_genesis_packages.rs b/radix-engine-tests/tests/system/system_genesis_packages.rs index 22cf479d36a..6dd4ac1e75c 100644 --- a/radix-engine-tests/tests/system/system_genesis_packages.rs +++ b/radix-engine-tests/tests/system/system_genesis_packages.rs @@ -26,7 +26,7 @@ fn claiming_royalties_on_native_packages_should_be_unauthorized() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_global_address.rs b/radix-engine-tests/tests/system/system_global_address.rs index bdbe59a5229..8c5f4e00a86 100644 --- a/radix-engine-tests/tests/system/system_global_address.rs +++ b/radix-engine-tests/tests/system/system_global_address.rs @@ -26,7 +26,7 @@ fn global_address_access_from_frame_owned_object_should_not_succeed() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -104,7 +104,7 @@ fn global_address_access_from_direct_access_methods_should_fail_even_with_borrow input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_kv_store.rs b/radix-engine-tests/tests/system/system_kv_store.rs index 0df11a277c1..cab8aac7c29 100644 --- a/radix-engine-tests/tests/system/system_kv_store.rs +++ b/radix-engine-tests/tests/system/system_kv_store.rs @@ -21,7 +21,7 @@ impl VmInvoke for TestInvoke { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -37,7 +37,7 @@ impl VmInvoke for TestInvoke { let long_key = "a".repeat(MAX_SUBSTATE_KEY_SIZE + 1); api.key_value_store_open_entry( &kv_store, - &scrypto_encode(&long_key).unwrap(), + scrypto_encode_to_value(&long_key).unwrap().into_unvalidated(), LockFlags::read_only(), )?; } diff --git a/radix-engine-tests/tests/system/system_lock_fee.rs b/radix-engine-tests/tests/system/system_lock_fee.rs index c987fa4e06c..15fb8cb2832 100644 --- a/radix-engine-tests/tests/system/system_lock_fee.rs +++ b/radix-engine-tests/tests/system/system_lock_fee.rs @@ -26,7 +26,7 @@ fn cannot_lock_fee_on_new_global_vault() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_module_methods.rs b/radix-engine-tests/tests/system/system_module_methods.rs index a07d8942900..db3828de137 100644 --- a/radix-engine-tests/tests/system/system_module_methods.rs +++ b/radix-engine-tests/tests/system/system_module_methods.rs @@ -30,7 +30,7 @@ fn should_not_be_able_to_call_royalty_methods(resource: bool) { input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -114,7 +114,7 @@ fn should_not_be_able_to_call_metadata_methods_on_frame_owned_object() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -186,7 +186,7 @@ fn should_not_be_able_to_call_metadata_methods_on_child_object(globalized_parent _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/system/system_reference.rs b/radix-engine-tests/tests/system/system_reference.rs index f135ab54d6f..304390a1326 100644 --- a/radix-engine-tests/tests/system/system_reference.rs +++ b/radix-engine-tests/tests/system/system_reference.rs @@ -26,7 +26,7 @@ fn cannot_store_reference_in_non_transient_blueprint() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -89,7 +89,7 @@ fn cannot_write_reference_in_non_transient_blueprint() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -155,7 +155,7 @@ fn cannot_write_reference_in_kv_store() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -170,7 +170,7 @@ fn cannot_write_reference_in_kv_store() { )?; let handle = api.key_value_store_open_entry( &kv_store, - &scrypto_encode(&()).unwrap(), + scrypto_encode_to_value(&()).unwrap().into_unvalidated(), LockFlags::MUTABLE, )?; let auth_zone = api.actor_get_node_id(ACTOR_REF_AUTH_ZONE)?; diff --git a/radix-engine-tests/tests/system/system_role_assignment.rs b/radix-engine-tests/tests/system/system_role_assignment.rs index d1e70442ace..d18825fa6d3 100644 --- a/radix-engine-tests/tests/system/system_role_assignment.rs +++ b/radix-engine-tests/tests/system/system_role_assignment.rs @@ -30,7 +30,7 @@ fn cannot_define_more_than_50_roles() { _input: &IndexedScryptoValue, _api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -92,7 +92,7 @@ fn cannot_define_role_name_larger_than_max() { _input: &IndexedScryptoValue, _api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -155,7 +155,7 @@ fn cannot_setup_more_than_50_roles() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -226,7 +226,7 @@ fn cannot_set_role_before_attachment() { _input: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine-tests/tests/vm/native_vm.rs b/radix-engine-tests/tests/vm/native_vm.rs index 5bf23514e4f..1fd62e39d60 100644 --- a/radix-engine-tests/tests/vm/native_vm.rs +++ b/radix-engine-tests/tests/vm/native_vm.rs @@ -246,7 +246,7 @@ impl VmInvoke for NonStringPanicExtensionInstance { _: &IndexedScryptoValue, _: &mut Y, _: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine/src/blueprints/access_controller/v1/blueprint.rs b/radix-engine/src/blueprints/access_controller/v1/blueprint.rs index b6e9552063e..d9cef32f115 100644 --- a/radix-engine/src/blueprints/access_controller/v1/blueprint.rs +++ b/radix-engine/src/blueprints/access_controller/v1/blueprint.rs @@ -20,7 +20,7 @@ impl AccessControllerV1Blueprint { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { @@ -625,15 +625,16 @@ impl AccessControllerV1Blueprint { access_controller.recovery_badge }; - let non_fungibles: IndexMap = non_fungible_local_ids - .into_iter() - .map(|local_id| { - ( - local_id, - (scrypto_decode(&scrypto_encode(&()).unwrap()).unwrap(),), - ) - }) - .collect(); + let non_fungibles: IndexMap = + non_fungible_local_ids + .into_iter() + .map(|local_id| { + ( + local_id, + (scrypto_decode(&scrypto_encode(&()).unwrap()).unwrap(),), + ) + }) + .collect(); let bucket = api .call_method( diff --git a/radix-engine/src/blueprints/access_controller/v1/package.rs b/radix-engine/src/blueprints/access_controller/v1/package.rs index e5d30346e46..5f3520eec2c 100644 --- a/radix-engine/src/blueprints/access_controller/v1/package.rs +++ b/radix-engine/src/blueprints/access_controller/v1/package.rs @@ -333,9 +333,9 @@ impl AccessControllerV1NativePackage { pub fn invoke_export( export_name: &str, - input: &IndexedScryptoValue, + input: &IndexedScryptoValue<'_>, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { diff --git a/radix-engine/src/blueprints/access_controller/v2/blueprint.rs b/radix-engine/src/blueprints/access_controller/v2/blueprint.rs index 9326c58dfca..ac83d8b42af 100644 --- a/radix-engine/src/blueprints/access_controller/v2/blueprint.rs +++ b/radix-engine/src/blueprints/access_controller/v2/blueprint.rs @@ -19,9 +19,9 @@ pub struct AccessControllerV2Blueprint; impl AccessControllerV2Blueprint { pub fn invoke_export( export_name: &str, - input: &IndexedScryptoValue, + input: &IndexedScryptoValue<'_>, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { diff --git a/radix-engine/src/blueprints/access_controller/v2/package.rs b/radix-engine/src/blueprints/access_controller/v2/package.rs index 09548d4ddaf..7041d581ece 100644 --- a/radix-engine/src/blueprints/access_controller/v2/package.rs +++ b/radix-engine/src/blueprints/access_controller/v2/package.rs @@ -390,9 +390,9 @@ impl AccessControllerV2NativePackage { pub fn invoke_export( export_name: &str, - input: &IndexedScryptoValue, + input: &IndexedScryptoValue<'_>, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { diff --git a/radix-engine/src/blueprints/account/blueprint.rs b/radix-engine/src/blueprints/account/blueprint.rs index 021fbd45641..3356a9e969a 100644 --- a/radix-engine/src/blueprints/account/blueprint.rs +++ b/radix-engine/src/blueprints/account/blueprint.rs @@ -941,12 +941,10 @@ impl AccountBlueprint { { // Read the account's authorized depositors to ensure that this badge is on the list of // permitted depositors - let encoded_key = - scrypto_encode(badge).expect("Failed to SBOR encode a `ResourceOrNonFungible`."); - let kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::AuthorizedDepositorKeyValue.collection_index(), - &encoded_key, + badge, LockFlags::read_only(), )?; let entry = api.key_value_entry_get_typed::( @@ -1172,11 +1170,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = scrypto_encode(&resource_address).expect("Impossible Case!"); - let kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::ResourcePreferenceKeyValue.collection_index(), - &encoded_key, + &resource_address, LockFlags::MUTABLE, )?; api.key_value_entry_set_typed( @@ -1203,11 +1200,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = scrypto_encode(&resource_address).expect("Impossible Case!"); - api.actor_remove_key_value_entry( + api.actor_remove_key_value_entry_typed_ignore_return( ACTOR_STATE_SELF, AccountCollection::ResourcePreferenceKeyValue.collection_index(), - &encoded_key, + &resource_address, )?; Runtime::emit_event(api, RemoveResourcePreferenceEvent { resource_address })?; @@ -1222,12 +1218,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = - scrypto_encode(&badge).expect("Failed to SBOR encode a `ResourceOrNonFungible`."); - let kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::AuthorizedDepositorKeyValue.collection_index(), - &encoded_key, + &badge, LockFlags::MUTABLE, )?; api.key_value_entry_set_typed( @@ -1253,12 +1247,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = - scrypto_encode(&badge).expect("Failed to SBOR encode a `ResourceOrNonFungible`."); - api.actor_remove_key_value_entry( + api.actor_remove_key_value_entry_typed_ignore_return( ACTOR_STATE_SELF, AccountCollection::AuthorizedDepositorKeyValue.collection_index(), - &encoded_key, + &badge, )?; Runtime::emit_event( @@ -1299,12 +1291,10 @@ impl AccountBlueprint { Y: SystemApi, F: FnOnce(&mut Vault, &mut Y) -> Result, { - let encoded_key = scrypto_encode(&resource_address).expect("Impossible Case!"); - - let mut kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let mut kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::ResourceVaultKeyValue.collection_index(), - &encoded_key, + &resource_address, LockFlags::read_only(), )?; @@ -1322,10 +1312,10 @@ impl AccountBlueprint { None => { if create { api.key_value_entry_close(kv_store_entry_lock_handle)?; - kv_store_entry_lock_handle = api.actor_open_key_value_entry( + kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::ResourceVaultKeyValue.collection_index(), - &encoded_key, + &resource_address, LockFlags::MUTABLE, )?; let vault = Vault::create(resource_address, api)?; @@ -1387,12 +1377,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = scrypto_encode(resource_address).expect("Impossible Case!"); - - let kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::ResourceVaultKeyValue.collection_index(), - &encoded_key, + &resource_address, LockFlags::read_only(), )?; @@ -1415,12 +1403,10 @@ impl AccountBlueprint { where Y: SystemApi, { - let encoded_key = scrypto_encode(&resource_address).expect("Impossible Case!"); - - let kv_store_entry_lock_handle = api.actor_open_key_value_entry( + let kv_store_entry_lock_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountCollection::ResourcePreferenceKeyValue.collection_index(), - &encoded_key, + &resource_address, LockFlags::read_only(), )?; @@ -1451,7 +1437,7 @@ impl AccountBlueprintBottlenoseExtension { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { @@ -1460,7 +1446,7 @@ impl AccountBlueprintBottlenoseExtension { let AccountTryDepositOrRefundInput { bucket, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1471,7 +1457,7 @@ impl AccountBlueprintBottlenoseExtension { let AccountTryDepositBatchOrRefundInput { buckets, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/blueprints/account/package.rs b/radix-engine/src/blueprints/account/package.rs index c596f95f5bc..6f26b9e6aff 100644 --- a/radix-engine/src/blueprints/account/package.rs +++ b/radix-engine/src/blueprints/account/package.rs @@ -24,13 +24,13 @@ impl AccountNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { ACCOUNT_ON_VIRTUALIZE_EXPORT_NAME => { - let input: OnVirtualizeInput = input.as_typed().map_err(|e| { + let input: OnVirtualizeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -39,7 +39,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_CREATE_ADVANCED_IDENT => { - let input: AccountCreateAdvancedInput = input.as_typed().map_err(|e| { + let input: AccountCreateAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -52,7 +52,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_CREATE_IDENT => { - let _input: AccountCreateInput = input.as_typed().map_err(|e| { + let _input: AccountCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -61,7 +61,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_SECURIFY_IDENT => { - let _input: AccountSecurifyInput = input.as_typed().map_err(|e| { + let _input: AccountSecurifyInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::securify(api)?; @@ -69,14 +69,14 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_LOCK_FEE_IDENT => { - let input: AccountLockFeeInput = input.as_typed().map_err(|e| { + let input: AccountLockFeeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::lock_fee(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_LOCK_CONTINGENT_FEE_IDENT => { - let input: AccountLockContingentFeeInput = input.as_typed().map_err(|e| { + let input: AccountLockContingentFeeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -84,7 +84,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_DEPOSIT_IDENT => { - let input: AccountDepositInput = input.as_typed().map_err(|e| { + let input: AccountDepositInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -92,7 +92,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_DEPOSIT_BATCH_IDENT => { - let input: AccountDepositBatchInput = input.as_typed().map_err(|e| { + let input: AccountDepositBatchInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -103,7 +103,7 @@ impl AccountNativePackage { let AccountTryDepositOrRefundInput { bucket, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -118,7 +118,7 @@ impl AccountNativePackage { let AccountTryDepositBatchOrRefundInput { buckets, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -133,7 +133,7 @@ impl AccountNativePackage { let AccountTryDepositOrAbortInput { bucket, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -148,7 +148,7 @@ impl AccountNativePackage { let AccountTryDepositBatchOrAbortInput { buckets, authorized_depositor_badge, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -160,7 +160,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_WITHDRAW_IDENT => { - let input: AccountWithdrawInput = input.as_typed().map_err(|e| { + let input: AccountWithdrawInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -168,7 +168,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_WITHDRAW_NON_FUNGIBLES_IDENT => { - let input: AccountWithdrawNonFungiblesInput = input.as_typed().map_err(|e| { + let input: AccountWithdrawNonFungiblesInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::withdraw_non_fungibles( @@ -179,7 +179,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_BURN_IDENT => { - let input: AccountBurnInput = input.as_typed().map_err(|e| { + let input: AccountBurnInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -187,7 +187,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_BURN_NON_FUNGIBLES_IDENT => { - let input: AccountBurnNonFungiblesInput = input.as_typed().map_err(|e| { + let input: AccountBurnNonFungiblesInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = @@ -195,7 +195,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_LOCK_FEE_AND_WITHDRAW_IDENT => { - let input: AccountLockFeeAndWithdrawInput = input.as_typed().map_err(|e| { + let input: AccountLockFeeAndWithdrawInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::lock_fee_and_withdraw( @@ -208,7 +208,7 @@ impl AccountNativePackage { } ACCOUNT_LOCK_FEE_AND_WITHDRAW_NON_FUNGIBLES_IDENT => { let input: AccountLockFeeAndWithdrawNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::lock_fee_and_withdraw_non_fungibles( @@ -220,7 +220,7 @@ impl AccountNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ACCOUNT_CREATE_PROOF_OF_AMOUNT_IDENT => { - let input: AccountCreateProofOfAmountInput = input.as_typed().map_err(|e| { + let input: AccountCreateProofOfAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::create_proof_of_amount( @@ -232,7 +232,7 @@ impl AccountNativePackage { } ACCOUNT_CREATE_PROOF_OF_NON_FUNGIBLES_IDENT => { let input: AccountCreateProofOfNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::create_proof_of_non_fungibles( @@ -244,7 +244,7 @@ impl AccountNativePackage { } ACCOUNT_SET_DEFAULT_DEPOSIT_RULE_IDENT => { let AccountSetDefaultDepositRuleInput { default } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::set_default_deposit_rule(default, api)?; @@ -254,7 +254,7 @@ impl AccountNativePackage { let AccountSetResourcePreferenceInput { resource_address, resource_preference, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::set_resource_preference( @@ -266,7 +266,7 @@ impl AccountNativePackage { } ACCOUNT_REMOVE_RESOURCE_PREFERENCE_IDENT => { let AccountRemoveResourcePreferenceInput { resource_address } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::remove_resource_preference(resource_address, api)?; @@ -274,7 +274,7 @@ impl AccountNativePackage { } ACCOUNT_ADD_AUTHORIZED_DEPOSITOR => { let AccountAddAuthorizedDepositorInput { badge } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::add_authorized_depositor(badge, api)?; @@ -282,7 +282,7 @@ impl AccountNativePackage { } ACCOUNT_REMOVE_AUTHORIZED_DEPOSITOR => { let AccountRemoveAuthorizedDepositorInput { badge } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = AccountBlueprint::remove_authorized_depositor(badge, api)?; diff --git a/radix-engine/src/blueprints/consensus_manager/consensus_manager.rs b/radix-engine/src/blueprints/consensus_manager/consensus_manager.rs index 560332305c0..ebb02a3793e 100644 --- a/radix-engine/src/blueprints/consensus_manager/consensus_manager.rs +++ b/radix-engine/src/blueprints/consensus_manager/consensus_manager.rs @@ -1235,7 +1235,7 @@ impl ConsensusManagerBlueprint { config.max_validators + (config.max_validators / 10) + 10; let mut top_registered_validators: Vec<( - ComponentAddress, + (_, ComponentAddress), ConsensusManagerRegisteredValidatorByStakeEntryPayload, )> = api.actor_sorted_index_scan_typed( ACTOR_STATE_SELF, @@ -1256,7 +1256,7 @@ impl ConsensusManagerBlueprint { validators_by_stake_desc: top_registered_validators .into_iter() .take(config.max_validators as usize) - .map(|(component_address, validator)| { + .map(|((_, component_address), validator)| { ( component_address, validator.fully_update_and_into_latest_version(), diff --git a/radix-engine/src/blueprints/consensus_manager/package.rs b/radix-engine/src/blueprints/consensus_manager/package.rs index 26f49085fee..4a8e4a61358 100644 --- a/radix-engine/src/blueprints/consensus_manager/package.rs +++ b/radix-engine/src/blueprints/consensus_manager/package.rs @@ -23,13 +23,13 @@ impl ConsensusManagerNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { CONSENSUS_MANAGER_CREATE_IDENT => { - let input: ConsensusManagerCreateInput = input.as_typed().map_err(|e| { + let input: ConsensusManagerCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::create( @@ -45,7 +45,7 @@ impl ConsensusManagerNativePackage { } CONSENSUS_MANAGER_GET_CURRENT_EPOCH_IDENT => { let _input: ConsensusManagerGetCurrentEpochInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -53,7 +53,7 @@ impl ConsensusManagerNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } CONSENSUS_MANAGER_START_IDENT => { - let _input: ConsensusManagerStartInput = input.as_typed().map_err(|e| { + let _input: ConsensusManagerStartInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::start(api)?; @@ -62,7 +62,7 @@ impl ConsensusManagerNativePackage { } CONSENSUS_MANAGER_GET_CURRENT_TIME_IDENT => { let input: ConsensusManagerGetCurrentTimeInputV1 = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::get_current_time_v1(input.precision, api)?; @@ -71,7 +71,7 @@ impl ConsensusManagerNativePackage { } CONSENSUS_MANAGER_COMPARE_CURRENT_TIME_IDENT => { let input: ConsensusManagerCompareCurrentTimeInputV1 = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::compare_current_time_v1( @@ -84,7 +84,7 @@ impl ConsensusManagerNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } CONSENSUS_MANAGER_NEXT_ROUND_IDENT => { - let input: ConsensusManagerNextRoundInput = input.as_typed().map_err(|e| { + let input: ConsensusManagerNextRoundInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::next_round( @@ -98,7 +98,7 @@ impl ConsensusManagerNativePackage { } CONSENSUS_MANAGER_CREATE_VALIDATOR_IDENT => { let input: ConsensusManagerCreateValidatorInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::create_validator( @@ -111,56 +111,56 @@ impl ConsensusManagerNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_REGISTER_IDENT => { - let _input: ValidatorRegisterInput = input.as_typed().map_err(|e| { + let _input: ValidatorRegisterInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::register(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_UNREGISTER_IDENT => { - let _input: ValidatorUnregisterInput = input.as_typed().map_err(|e| { + let _input: ValidatorUnregisterInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::unregister(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_STAKE_AS_OWNER_IDENT => { - let input: ValidatorStakeAsOwnerInput = input.as_typed().map_err(|e| { + let input: ValidatorStakeAsOwnerInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::stake_as_owner(input.stake, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_STAKE_IDENT => { - let input: ValidatorStakeInput = input.as_typed().map_err(|e| { + let input: ValidatorStakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::stake(input.stake, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_UNSTAKE_IDENT => { - let input: ValidatorUnstakeInput = input.as_typed().map_err(|e| { + let input: ValidatorUnstakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::unstake(input.stake_unit_bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_CLAIM_XRD_IDENT => { - let input: ValidatorClaimXrdInput = input.as_typed().map_err(|e| { + let input: ValidatorClaimXrdInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::claim_xrd(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_UPDATE_KEY_IDENT => { - let input: ValidatorUpdateKeyInput = input.as_typed().map_err(|e| { + let input: ValidatorUpdateKeyInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::update_key(input.key, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_UPDATE_FEE_IDENT => { - let input: ValidatorUpdateFeeInput = input.as_typed().map_err(|e| { + let input: ValidatorUpdateFeeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::update_fee(input.new_fee_factor, api)?; @@ -168,7 +168,7 @@ impl ConsensusManagerNativePackage { } VALIDATOR_UPDATE_ACCEPT_DELEGATED_STAKE_IDENT => { let input: ValidatorUpdateAcceptDelegatedStakeInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::update_accept_delegated_stake( @@ -178,28 +178,28 @@ impl ConsensusManagerNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_ACCEPTS_DELEGATED_STAKE_IDENT => { - let _: ValidatorAcceptsDelegatedStakeInput = input.as_typed().map_err(|e| { + let _: ValidatorAcceptsDelegatedStakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::accepts_delegated_stake(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_TOTAL_STAKE_XRD_AMOUNT_IDENT => { - let _: ValidatorTotalStakeXrdAmountInput = input.as_typed().map_err(|e| { + let _: ValidatorTotalStakeXrdAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::total_stake_xrd_amount(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_TOTAL_STAKE_UNIT_SUPPLY_IDENT => { - let _: ValidatorTotalStakeUnitSupplyInput = input.as_typed().map_err(|e| { + let _: ValidatorTotalStakeUnitSupplyInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::total_stake_unit_supply(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_GET_REDEMPTION_VALUE_IDENT => { - let input: ValidatorGetRedemptionValueInput = input.as_typed().map_err(|e| { + let input: ValidatorGetRedemptionValueInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = @@ -208,7 +208,7 @@ impl ConsensusManagerNativePackage { } VALIDATOR_SIGNAL_PROTOCOL_UPDATE_READINESS => { let input: ValidatorSignalProtocolUpdateReadinessInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::signal_protocol_update_readiness(input.vote, api)?; @@ -216,14 +216,14 @@ impl ConsensusManagerNativePackage { } VALIDATOR_GET_PROTOCOL_UPDATE_READINESS_IDENT => { let _input: ValidatorGetProtocolUpdateReadinessInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::get_protocol_update_readiness(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_LOCK_OWNER_STAKE_UNITS_IDENT => { - let input: ValidatorLockOwnerStakeUnitsInput = input.as_typed().map_err(|e| { + let input: ValidatorLockOwnerStakeUnitsInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::lock_owner_stake_units(input.stake_unit_bucket, api)?; @@ -231,7 +231,7 @@ impl ConsensusManagerNativePackage { } VALIDATOR_START_UNLOCK_OWNER_STAKE_UNITS_IDENT => { let input: ValidatorStartUnlockOwnerStakeUnitsInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::start_unlock_owner_stake_units( @@ -242,14 +242,14 @@ impl ConsensusManagerNativePackage { } VALIDATOR_FINISH_UNLOCK_OWNER_STAKE_UNITS_IDENT => { let _input: ValidatorFinishUnlockOwnerStakeUnitsInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::finish_unlock_owner_stake_units(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_APPLY_EMISSION_IDENT => { - let input: ValidatorApplyEmissionInput = input.as_typed().map_err(|e| { + let input: ValidatorApplyEmissionInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::apply_emission( @@ -262,7 +262,7 @@ impl ConsensusManagerNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } VALIDATOR_APPLY_REWARD_IDENT => { - let input: ValidatorApplyRewardInput = input.as_typed().map_err(|e| { + let input: ValidatorApplyRewardInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ValidatorBlueprint::apply_reward(input.xrd_bucket, input.epoch, api)?; @@ -282,14 +282,14 @@ impl ConsensusManagerSecondsPrecisionNativeCode { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { CONSENSUS_MANAGER_GET_CURRENT_TIME_IDENT => { let input: ConsensusManagerGetCurrentTimeInputV2 = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::get_current_time_v2(input.precision, api)?; @@ -298,7 +298,7 @@ impl ConsensusManagerSecondsPrecisionNativeCode { } CONSENSUS_MANAGER_COMPARE_CURRENT_TIME_IDENT => { let input: ConsensusManagerCompareCurrentTimeInputV2 = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ConsensusManagerBlueprint::compare_current_time_v2( diff --git a/radix-engine/src/blueprints/consensus_manager/validator.rs b/radix-engine/src/blueprints/consensus_manager/validator.rs index 193a8d3a4e1..a0ad6ae6c1c 100644 --- a/radix-engine/src/blueprints/consensus_manager/validator.rs +++ b/radix-engine/src/blueprints/consensus_manager/validator.rs @@ -1549,7 +1549,7 @@ impl ValidatorBlueprint { } else { Ok(Some(( create_sort_prefix_from_stake(stake)?, - scrypto_encode(&address).unwrap(), + scrypto_encode_to_payload(&address).unwrap(), ))) } } @@ -1564,6 +1564,7 @@ impl ValidatorBlueprint { key, stake, } => { + let index_key = (index_key.0, index_key.1.as_unvalidated()); api.actor_sorted_index_insert_typed( ACTOR_STATE_OUTER_OBJECT, ConsensusManagerCollection::RegisteredValidatorByStakeSortedIndex @@ -1575,11 +1576,12 @@ impl ValidatorBlueprint { )?; } UpdateSecondaryIndex::UpdatePublicKey { index_key, key } => { + let index_key = (index_key.0, index_key.1.as_unvalidated()); let mut validator = api .actor_sorted_index_remove_typed::( ACTOR_STATE_OUTER_OBJECT, ConsensusManagerCollection::RegisteredValidatorByStakeSortedIndex.collection_index(), - &index_key, + index_key.clone(), )? .unwrap().fully_update_and_into_latest_version(); validator.key = key; @@ -1598,11 +1600,13 @@ impl ValidatorBlueprint { new_index_key, new_stake_amount, } => { + let index_key = (index_key.0, index_key.1.as_unvalidated()); + let new_index_key = (new_index_key.0, new_index_key.1.as_unvalidated()); let mut validator = api .actor_sorted_index_remove_typed::( ACTOR_STATE_OUTER_OBJECT, ConsensusManagerCollection::RegisteredValidatorByStakeSortedIndex.collection_index(), - &index_key, + index_key, )? .unwrap().fully_update_and_into_latest_version(); validator.stake = new_stake_amount; @@ -1617,11 +1621,12 @@ impl ValidatorBlueprint { )?; } UpdateSecondaryIndex::Remove { index_key } => { + let index_key = (index_key.0, index_key.1.as_unvalidated()); api.actor_sorted_index_remove( ACTOR_STATE_OUTER_OBJECT, ConsensusManagerCollection::RegisteredValidatorByStakeSortedIndex .collection_index(), - &index_key, + index_key, )?; } } diff --git a/radix-engine/src/blueprints/identity/package.rs b/radix-engine/src/blueprints/identity/package.rs index 823af3c7216..fd1cdfb35d5 100644 --- a/radix-engine/src/blueprints/identity/package.rs +++ b/radix-engine/src/blueprints/identity/package.rs @@ -128,13 +128,13 @@ impl IdentityNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { IDENTITY_CREATE_ADVANCED_IDENT => { - let input: IdentityCreateAdvancedInput = input.as_typed().map_err(|e| { + let input: IdentityCreateAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -143,7 +143,7 @@ impl IdentityNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } IDENTITY_CREATE_IDENT => { - let _input: IdentityCreateInput = input.as_typed().map_err(|e| { + let _input: IdentityCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -152,16 +152,17 @@ impl IdentityNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } IDENTITY_SECURIFY_IDENT => { - let _input: IdentitySecurifyToSingleBadgeInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let _input: IdentitySecurifyToSingleBadgeInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = IdentityBlueprint::securify(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } IDENTITY_ON_VIRTUALIZE_EXPORT_NAME => { - let input: OnVirtualizeInput = input.as_typed().map_err(|e| { + let input: OnVirtualizeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/blueprints/locker/blueprint.rs b/radix-engine/src/blueprints/locker/blueprint.rs index dd4888dabb3..81de8828257 100644 --- a/radix-engine/src/blueprints/locker/blueprint.rs +++ b/radix-engine/src/blueprints/locker/blueprint.rs @@ -97,7 +97,7 @@ impl AccountLockerBlueprint { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { @@ -569,10 +569,10 @@ impl AccountLockerBlueprint { { // The collection on the blueprint maps an account address to a key value store. We read the // node id of that key value store. - let account_claims_handle = api.actor_open_key_value_entry( + let account_claims_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountLockerCollection::AccountClaimsKeyValue.collection_index(), - &scrypto_encode(&account_address).unwrap(), + &account_address, LockFlags::MUTABLE, )?; let account_claims = api @@ -604,9 +604,9 @@ impl AccountLockerBlueprint { }; // Lock the entry in the key-value store which contains the vault and attempt to get it. - let vault_entry_handle = api.key_value_store_open_entry( + let vault_entry_handle = api.key_value_store_open_entry_typed( account_claims_kv_store.as_node_id(), - &scrypto_encode(&resource_address).unwrap(), + &resource_address, LockFlags::MUTABLE, )?; @@ -648,10 +648,10 @@ impl AccountLockerBlueprint { { // The collection on the blueprint maps an account address to a key value store. We read the // node id of that key value store. - let account_claims_handle = api.actor_open_key_value_entry( + let account_claims_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, AccountLockerCollection::AccountClaimsKeyValue.collection_index(), - &scrypto_encode(&account_address).unwrap(), + &account_address, LockFlags::read_only(), )?; let account_claims = api @@ -674,9 +674,9 @@ impl AccountLockerBlueprint { // Lock the entry in the key-value store which contains the vault and attempt to get it. If // we're allowed to create the vault. - let vault_entry_handle = api.key_value_store_open_entry( + let vault_entry_handle = api.key_value_store_open_entry_typed( account_claims_kv_store.as_node_id(), - &scrypto_encode(&resource_address).unwrap(), + &resource_address, LockFlags::read_only(), )?; diff --git a/radix-engine/src/blueprints/locker/package.rs b/radix-engine/src/blueprints/locker/package.rs index 3a80af600f2..c14f1a7eada 100644 --- a/radix-engine/src/blueprints/locker/package.rs +++ b/radix-engine/src/blueprints/locker/package.rs @@ -19,7 +19,7 @@ impl LockerNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { diff --git a/radix-engine/src/blueprints/models/keys.rs b/radix-engine/src/blueprints/models/keys.rs index 75da4f188dc..7d9a57e0dab 100644 --- a/radix-engine/src/blueprints/models/keys.rs +++ b/radix-engine/src/blueprints/models/keys.rs @@ -86,8 +86,8 @@ macro_rules! declare_key_new_type { type Error = (); fn try_from(substate_key: &SubstateKey) -> Result { - let (sort_prefix, payload_bytes) = substate_key.for_sorted().ok_or(())?; - let content = scrypto_decode(payload_bytes).map_err(|_| ())?; + let (sort_prefix, payload) = substate_key.for_sorted().ok_or(())?; + let content = payload.decode_as().map_err(|_| ())?; Ok(Self::from_sort_key_and_content(u16::from_be_bytes(*sort_prefix), content)) } } @@ -180,7 +180,7 @@ macro_rules! declare_key_new_type { fn try_from(substate_key: &SubstateKey) -> Result { let key = substate_key.for_map().ok_or(())?; - scrypto_decode::(&key).map_err(|_| ()) + key.decode_as().map_err(|_| ()) } } diff --git a/radix-engine/src/blueprints/models/native_blueprint_state_macro.rs b/radix-engine/src/blueprints/models/native_blueprint_state_macro.rs index 6262790817e..4c1a24a9a71 100644 --- a/radix-engine/src/blueprints/models/native_blueprint_state_macro.rs +++ b/radix-engine/src/blueprints/models/native_blueprint_state_macro.rs @@ -753,7 +753,7 @@ mod helper_macros { payload_trait: $payload_trait, ---- $(#[$attributes])* - pub struct $payload_type_name<$generic_ident: [<$ident_core ContentMarker>] = ScryptoValue>($generic_ident); + pub struct $payload_type_name<$generic_ident: [<$ident_core ContentMarker>] = ScryptoOwnedRawValue>($generic_ident); ); // We choose to create an explicit marker trait, as an alternative to a blanket impl // over ScryptoEncode + ScryptoDecode. Any explicit types can implement this trait. @@ -762,7 +762,7 @@ mod helper_macros { // Anyone needing a type implementing content can use the payload type itself pub trait [<$ident_core ContentMarker>]: ScryptoEncode + ScryptoDecode {} impl [<$ident_core ContentMarker>] for ScryptoValue {} - impl [<$ident_core ContentMarker>] for RawScryptoValue<'_> {} + impl [<$ident_core ContentMarker>] for ScryptoRawValue<'_> {} } }; } @@ -1320,7 +1320,9 @@ mod tests { #[test] fn test_blueprint_field_try_from() { assert!(TestBlueprintField::try_from(&SubstateKey::Field(0)).is_ok()); - assert!(TestBlueprintField::try_from(&SubstateKey::Map(Vec::new())).is_err()); + assert!( + TestBlueprintField::try_from(&SubstateKey::Map(ScryptoRawPayload::unit())).is_err() + ); } #[test] @@ -1348,7 +1350,7 @@ mod tests { assert!(TestBlueprintTypedSubstateKey::for_key_in_partition( &TestBlueprintPartitionOffset::MyCoolIndexIndex, - &SubstateKey::Map(vec![92, 0]) + &SubstateKey::Map(ScryptoOwnedRawPayload::unit()) ) .is_err()); } diff --git a/radix-engine/src/blueprints/package/package.rs b/radix-engine/src/blueprints/package/package.rs index 039b76c7739..c4447456db3 100644 --- a/radix-engine/src/blueprints/package/package.rs +++ b/radix-engine/src/blueprints/package/package.rs @@ -219,14 +219,14 @@ fn validate_package_schema( FieldTransience::NotTransient => {} FieldTransience::TransientStatic { default_value } => match field.field { TypeRef::Static(local_index) => { - validate_payload_against_schema::( - default_value, - bp_schema.schema.v1(), - local_index, - &mut (), - TRANSIENT_SUBSTATE_DEFAULT_VALUE_MAX_DEPTH, - ) - .map_err(|_| PackageError::InvalidTransientField)?; + ScryptoUnvalidatedRawPayload::from_payload_slice(default_value) + .validate_against_type_with_max_depth( + TRANSIENT_SUBSTATE_DEFAULT_VALUE_MAX_DEPTH, + bp_schema.schema.v1(), + local_index, + &(), + ) + .map_err(|_| PackageError::InvalidTransientField)?; } TypeRef::Generic(..) => return Err(PackageError::InvalidTransientField), }, @@ -951,7 +951,7 @@ impl PackageNativePackage { version: PackageV1MinorVersion, api: &mut Y, vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi, V: VmApi, @@ -963,7 +963,7 @@ impl PackageNativePackage { match export_name { PACKAGE_PUBLISH_NATIVE_IDENT => { - let input: PackagePublishNativeInput = input.as_typed().map_err(|e| { + let input: PackagePublishNativeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -980,7 +980,7 @@ impl PackageNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } PACKAGE_PUBLISH_WASM_IDENT => { - let input: PackagePublishWasmInput = input.as_typed().map_err(|e| { + let input: PackagePublishWasmInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -996,7 +996,7 @@ impl PackageNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } PACKAGE_PUBLISH_WASM_ADVANCED_IDENT => { - let input: PackagePublishWasmAdvancedInput = input.as_typed().map_err(|e| { + let input: PackagePublishWasmAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1014,7 +1014,7 @@ impl PackageNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } PACKAGE_CLAIM_ROYALTIES_IDENT => { - let _input: PackageClaimRoyaltiesInput = input.as_typed().map_err(|e| { + let _input: PackageClaimRoyaltiesInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = PackageRoyaltyNativeBlueprint::claim_royalties(api)?; @@ -1509,7 +1509,7 @@ impl PackageRoyaltyNativeBlueprint { MAIN_BASE_PARTITION .at_offset(PACKAGE_ROYALTY_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -1519,7 +1519,7 @@ impl PackageRoyaltyNativeBlueprint { )?; let substate: PackageBlueprintVersionRoyaltyConfigEntrySubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; let royalty_charge = substate @@ -1547,7 +1547,7 @@ impl PackageRoyaltyNativeBlueprint { )?; let substate: PackageRoyaltyAccumulatorFieldSubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); let vault_id = substate .into_payload() @@ -1667,7 +1667,7 @@ impl PackageAuthNativeBlueprint { MAIN_BASE_PARTITION .at_offset(PACKAGE_AUTH_TEMPLATE_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -1677,7 +1677,7 @@ impl PackageAuthNativeBlueprint { )?; let auth_template: PackageBlueprintVersionAuthConfigEntrySubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; let template = match auth_template.into_value() { diff --git a/radix-engine/src/blueprints/pool/v1/package.rs b/radix-engine/src/blueprints/pool/v1/package.rs index 27d228ed678..bd64ebb9bc5 100644 --- a/radix-engine/src/blueprints/pool/v1/package.rs +++ b/radix-engine/src/blueprints/pool/v1/package.rs @@ -23,10 +23,10 @@ pub struct PoolNativePackage; impl PoolNativePackage { pub fn invoke_export( export_name: &str, - input: &IndexedScryptoValue, + input: &IndexedScryptoValue<'_>, minor_version: PoolV1MinorVersion, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + KernelSubstateApi + SystemApi, { @@ -37,7 +37,7 @@ impl PoolNativePackage { pool_manager_rule, owner_role, address_reservation, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -61,9 +61,10 @@ impl PoolNativePackage { } ONE_RESOURCE_POOL_CONTRIBUTE_EXPORT_NAME => { - let OneResourcePoolContributeInput { bucket } = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let OneResourcePoolContributeInput { bucket } = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = match minor_version { PoolV1MinorVersion::Zero => { super::v1_0::OneResourcePoolBlueprint::contribute(bucket, api)? @@ -76,7 +77,7 @@ impl PoolNativePackage { } ONE_RESOURCE_POOL_REDEEM_EXPORT_NAME => { - let OneResourcePoolRedeemInput { bucket } = input.as_typed().map_err(|e| { + let OneResourcePoolRedeemInput { bucket } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -92,7 +93,7 @@ impl PoolNativePackage { ONE_RESOURCE_POOL_PROTECTED_DEPOSIT_EXPORT_NAME => { let OneResourcePoolProtectedDepositInput { bucket } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -110,7 +111,7 @@ impl PoolNativePackage { let OneResourcePoolProtectedWithdrawInput { amount, withdraw_strategy, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -135,7 +136,7 @@ impl PoolNativePackage { ONE_RESOURCE_POOL_GET_REDEMPTION_VALUE_EXPORT_NAME => { let OneResourcePoolGetRedemptionValueInput { amount_of_pool_units, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -156,7 +157,7 @@ impl PoolNativePackage { } ONE_RESOURCE_POOL_GET_VAULT_AMOUNT_EXPORT_NAME => { - let OneResourcePoolGetVaultAmountInput {} = input.as_typed().map_err(|e| { + let OneResourcePoolGetVaultAmountInput {} = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -176,7 +177,7 @@ impl PoolNativePackage { pool_manager_rule, owner_role, address_reservation, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -200,9 +201,10 @@ impl PoolNativePackage { } TWO_RESOURCE_POOL_CONTRIBUTE_EXPORT_NAME => { - let TwoResourcePoolContributeInput { buckets } = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let TwoResourcePoolContributeInput { buckets } = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = match minor_version { PoolV1MinorVersion::Zero => { super::v1_0::TwoResourcePoolBlueprint::contribute(buckets, api)? @@ -215,7 +217,7 @@ impl PoolNativePackage { } TWO_RESOURCE_POOL_REDEEM_EXPORT_NAME => { - let TwoResourcePoolRedeemInput { bucket } = input.as_typed().map_err(|e| { + let TwoResourcePoolRedeemInput { bucket } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -231,7 +233,7 @@ impl PoolNativePackage { TWO_RESOURCE_POOL_PROTECTED_DEPOSIT_EXPORT_NAME => { let TwoResourcePoolProtectedDepositInput { bucket } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -250,7 +252,7 @@ impl PoolNativePackage { amount, resource_address, withdraw_strategy, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -277,7 +279,7 @@ impl PoolNativePackage { TWO_RESOURCE_POOL_GET_REDEMPTION_VALUE_EXPORT_NAME => { let TwoResourcePoolGetRedemptionValueInput { amount_of_pool_units, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -298,7 +300,7 @@ impl PoolNativePackage { } TWO_RESOURCE_POOL_GET_VAULT_AMOUNTS_EXPORT_NAME => { - let TwoResourcePoolGetVaultAmountsInput {} = input.as_typed().map_err(|e| { + let TwoResourcePoolGetVaultAmountsInput {} = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -318,7 +320,7 @@ impl PoolNativePackage { owner_role, pool_manager_rule, address_reservation, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -347,7 +349,7 @@ impl PoolNativePackage { MULTI_RESOURCE_POOL_CONTRIBUTE_EXPORT_NAME => { let MultiResourcePoolContributeInput { buckets } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -362,7 +364,7 @@ impl PoolNativePackage { } MULTI_RESOURCE_POOL_REDEEM_EXPORT_NAME => { - let MultiResourcePoolRedeemInput { bucket } = input.as_typed().map_err(|e| { + let MultiResourcePoolRedeemInput { bucket } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -378,7 +380,7 @@ impl PoolNativePackage { MULTI_RESOURCE_POOL_PROTECTED_DEPOSIT_EXPORT_NAME => { let MultiResourcePoolProtectedDepositInput { bucket } = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -397,7 +399,7 @@ impl PoolNativePackage { amount, resource_address, withdraw_strategy, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -424,7 +426,7 @@ impl PoolNativePackage { MULTI_RESOURCE_POOL_GET_REDEMPTION_VALUE_EXPORT_NAME => { let MultiResourcePoolGetRedemptionValueInput { amount_of_pool_units, - } = input.as_typed().map_err(|e| { + } = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { @@ -445,7 +447,7 @@ impl PoolNativePackage { } MULTI_RESOURCE_POOL_GET_VAULT_AMOUNTS_EXPORT_NAME => { - let MultiResourcePoolGetVaultAmountsInput {} = input.as_typed().map_err(|e| { + let MultiResourcePoolGetVaultAmountsInput {} = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = match minor_version { diff --git a/radix-engine/src/blueprints/resource/auth_zone/auth_zone_composition.rs b/radix-engine/src/blueprints/resource/auth_zone/auth_zone_composition.rs index c96a732cdd3..26199c3543c 100644 --- a/radix-engine/src/blueprints/resource/auth_zone/auth_zone_composition.rs +++ b/radix-engine/src/blueprints/resource/auth_zone/auth_zone_composition.rs @@ -32,7 +32,7 @@ pub enum ComposedProof { ), } -impl From for BTreeMap { +impl From for BTreeMap { fn from(value: ComposedProof) -> Self { match value { ComposedProof::Fungible(info, proof, ..) => btreemap!( @@ -151,7 +151,7 @@ fn max_amount_locked + SystemApi = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); for (container, locked_amount) in &proof.into_payload().evidence { if let Some(existing) = max.get_mut(container) { *existing = Decimal::max(*existing, locked_amount.clone()); @@ -204,7 +204,7 @@ fn max_ids_locked + SystemApi SystemLockData::default(), )?; let proof: FieldSubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); for (container, locked_ids) in &proof.into_payload().evidence { total.extend(locked_ids.clone()); if let Some(ids) = per_container.get_mut(container) { @@ -249,7 +249,7 @@ fn compose_fungible_proof + SystemApi = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); let proof = substate.into_payload(); for (container, _) in &proof.evidence { if remaining.is_zero() { @@ -344,7 +344,7 @@ fn compose_non_fungible_proof + SystemApi = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); let proof = substate.into_payload().clone(); for (container, _) in &proof.evidence { if remaining.is_empty() { diff --git a/radix-engine/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs b/radix-engine/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs index 35dc24503f3..5633dab1057 100644 --- a/radix-engine/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs +++ b/radix-engine/src/blueprints/resource/non_fungible/non_fungible_resource_manager.rs @@ -118,7 +118,7 @@ pub enum InvalidNonFungibleSchema { fn create_non_fungibles( resource_address: ResourceAddress, id_type: NonFungibleIdType, - entries: IndexMap, + entries: IndexMap, check_non_existence: bool, api: &mut Y, ) -> Result, RuntimeError> @@ -138,10 +138,10 @@ where )); } - let non_fungible_handle = api.actor_open_key_value_entry( + let non_fungible_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &non_fungible_local_id.to_key(), + &non_fungible_local_id, LockFlags::MUTABLE, )?; @@ -678,7 +678,7 @@ impl NonFungibleResourceManagerBlueprint { id_type: NonFungibleIdType, track_total_supply: bool, non_fungible_schema: NonFungibleDataSchema, - entries: IndexMap, + entries: IndexMap, resource_roles: NonFungibleResourceRoles, metadata: ModuleConfig, address_reservation: Option, @@ -744,7 +744,7 @@ impl NonFungibleResourceManagerBlueprint { owner_role: OwnerRole, track_total_supply: bool, non_fungible_schema: NonFungibleDataSchema, - entries: Vec<(ScryptoValue,)>, + entries: Vec<(ScryptoOwnedRawValue,)>, resource_roles: NonFungibleResourceRoles, metadata: ModuleConfig, address_reservation: Option, @@ -753,14 +753,15 @@ impl NonFungibleResourceManagerBlueprint { where Y: SystemApi, { - let entries: Result, RuntimeError> = entries - .into_iter() - .map(|e| { - let ruid = Runtime::generate_ruid(api)?; - let id = NonFungibleLocalId::ruid(ruid); - Ok((id, e)) - }) - .collect(); + let entries: Result, RuntimeError> = + entries + .into_iter() + .map(|e| { + let ruid = Runtime::generate_ruid(api)?; + let id = NonFungibleLocalId::ruid(ruid); + Ok((id, e)) + }) + .collect(); let entries = entries?; let ids: IndexSet = entries.keys().cloned().collect(); @@ -808,7 +809,7 @@ impl NonFungibleResourceManagerBlueprint { } pub(crate) fn mint_non_fungible( - entries: IndexMap, + entries: IndexMap, api: &mut Y, ) -> Result where @@ -832,7 +833,7 @@ impl NonFungibleResourceManagerBlueprint { } pub(crate) fn mint_ruid_non_fungible( - entries: Vec<(ScryptoValue,)>, + entries: Vec<(ScryptoOwnedRawValue,)>, api: &mut Y, ) -> Result where @@ -866,7 +867,7 @@ impl NonFungibleResourceManagerBlueprint { } pub(crate) fn mint_single_ruid_non_fungible( - value: ScryptoValue, + value: ScryptoOwnedRawValue, api: &mut Y, ) -> Result<(Bucket, NonFungibleLocalId), RuntimeError> where @@ -932,15 +933,15 @@ impl NonFungibleResourceManagerBlueprint { })? }; - let non_fungible_handle = api.actor_open_key_value_entry( + let non_fungible_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &id.to_key(), + &id, LockFlags::MUTABLE, )?; let mut non_fungible_entry = api - .key_value_entry_get_typed::( + .key_value_entry_get_typed::>( non_fungible_handle, )?; @@ -949,8 +950,8 @@ impl NonFungibleResourceManagerBlueprint { Value::Tuple { fields } => fields[field_index] = data, _ => panic!("Non-tuple non-fungible created: id = {}", id), } - let buffer = scrypto_encode(non_fungible_data_payload).unwrap(); - api.key_value_entry_set(non_fungible_handle, buffer)?; + let buffer = scrypto_encode_to_value(non_fungible_data_payload).unwrap(); + api.key_value_entry_set(non_fungible_handle, buffer.into_unvalidated())?; } else { let resource_address = ResourceAddress::new_or_panic(api.actor_get_node_id(ACTOR_REF_GLOBAL)?.into()); @@ -974,10 +975,10 @@ impl NonFungibleResourceManagerBlueprint { where Y: SystemApi, { - let non_fungible_handle = api.actor_open_key_value_entry( + let non_fungible_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &id.to_key(), + &id, LockFlags::read_only(), )?; let non_fungible = api @@ -991,14 +992,14 @@ impl NonFungibleResourceManagerBlueprint { pub(crate) fn get_non_fungible( id: NonFungibleLocalId, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { - let non_fungible_handle = api.actor_open_key_value_entry( + let non_fungible_handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &id.to_key(), + &id, LockFlags::read_only(), )?; let wrapper = api.key_value_entry_get_typed::( @@ -1082,10 +1083,10 @@ impl NonFungibleResourceManagerBlueprint { // Update { for id in other_bucket.liquid.into_ids() { - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &id.to_key(), + &id, LockFlags::MUTABLE, )?; api.key_value_entry_remove(handle)?; @@ -1199,7 +1200,7 @@ impl NonFungibleResourceManagerBlueprint { fn create_object( id_type: NonFungibleIdType, - entries: IndexMap, + entries: IndexMap, track_total_supply: bool, non_fungible_schema: NonFungibleDataSchema, resource_roles: NonFungibleResourceRoles, diff --git a/radix-engine/src/blueprints/resource/non_fungible/non_fungible_vault.rs b/radix-engine/src/blueprints/resource/non_fungible/non_fungible_vault.rs index ae8c263f5a4..4e99e6aeed6 100644 --- a/radix-engine/src/blueprints/resource/non_fungible/non_fungible_vault.rs +++ b/radix-engine/src/blueprints/resource/non_fungible/non_fungible_vault.rs @@ -467,19 +467,19 @@ impl NonFungibleVaultBlueprint { } // TODO: Replace with better index api - let key = scrypto_encode(&id).unwrap(); + let key = scrypto_encode_to_value(&id).unwrap(); let removed = api.actor_index_remove( ACTOR_STATE_SELF, NonFungibleVaultCollection::NonFungibleIndex.collection_index(), - key.clone(), + key.as_unvalidated(), )?; let exists = removed.is_some(); if let Some(removed) = removed { api.actor_index_insert( ACTOR_STATE_SELF, NonFungibleVaultCollection::NonFungibleIndex.collection_index(), - key, - removed, + key.as_unvalidated(), + removed.as_unvalidated(), )?; } @@ -948,7 +948,7 @@ impl NonFungibleVaultBlueprint { let removed = api.actor_index_remove( ACTOR_STATE_SELF, NonFungibleVaultCollection::NonFungibleIndex.collection_index(), - scrypto_encode(id).unwrap(), + scrypto_encode_to_value(id).unwrap().into_unvalidated(), )?; if removed.is_none() { diff --git a/radix-engine/src/blueprints/resource/package.rs b/radix-engine/src/blueprints/resource/package.rs index 12a4e58068d..c5792d78ba5 100644 --- a/radix-engine/src/blueprints/resource/package.rs +++ b/radix-engine/src/blueprints/resource/package.rs @@ -1147,15 +1147,16 @@ impl ResourceNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + KernelSubstateApi + SystemApi, { match export_name { FUNGIBLE_RESOURCE_MANAGER_CREATE_EXPORT_NAME => { - let input: FungibleResourceManagerCreateInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let input: FungibleResourceManagerCreateInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = FungibleResourceManagerBlueprint::create( input.owner_role, input.track_total_supply, @@ -1169,7 +1170,7 @@ impl ResourceNativePackage { } FUNGIBLE_RESOURCE_MANAGER_CREATE_WITH_INITIAL_SUPPLY_EXPORT_NAME => { let input: FungibleResourceManagerCreateWithInitialSupplyInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::create_with_initial_supply( @@ -1185,36 +1186,37 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_MINT_EXPORT_NAME => { - let input: FungibleResourceManagerMintInput = input.as_typed().map_err(|e| { + let input: FungibleResourceManagerMintInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::mint(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_BURN_EXPORT_NAME => { - let input: ResourceManagerBurnInput = input.as_typed().map_err(|e| { + let input: ResourceManagerBurnInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::burn(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_PACKAGE_BURN_EXPORT_NAME => { - let input: ResourceManagerPackageBurnInput = input.as_typed().map_err(|e| { + let input: ResourceManagerPackageBurnInput = input.into_typed().map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::package_burn(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_DROP_EMPTY_BUCKET_EXPORT_NAME => { - let input: ResourceManagerDropEmptyBucketInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let input: ResourceManagerDropEmptyBucketInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = FungibleResourceManagerBlueprint::drop_empty_bucket(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_CREATE_EMPTY_VAULT_EXPORT_NAME => { let _input: ResourceManagerCreateEmptyVaultInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::create_empty_vault(api)?; @@ -1222,7 +1224,7 @@ impl ResourceNativePackage { } FUNGIBLE_RESOURCE_MANAGER_CREATE_EMPTY_BUCKET_EXPORT_NAME => { let _input: ResourceManagerCreateEmptyBucketInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1231,22 +1233,23 @@ impl ResourceNativePackage { } FUNGIBLE_RESOURCE_MANAGER_GET_RESOURCE_TYPE_EXPORT_NAME => { let _input: ResourceManagerGetResourceTypeInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::get_resource_type(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_GET_TOTAL_SUPPLY_EXPORT_NAME => { - let _input: ResourceManagerGetTotalSupplyInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let _input: ResourceManagerGetTotalSupplyInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = FungibleResourceManagerBlueprint::get_total_supply(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_RESOURCE_MANAGER_AMOUNT_FOR_WITHDRAWAL_EXPORT_NAME => { let input: ResourceManagerGetAmountForWithdrawalInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleResourceManagerBlueprint::amount_for_withdrawal( @@ -1258,7 +1261,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_CREATE_EXPORT_NAME => { let input: NonFungibleResourceManagerCreateInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::create( @@ -1275,7 +1278,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_CREATE_WITH_INITIAL_SUPPLY_EXPORT_NAME => { let input: NonFungibleResourceManagerCreateWithInitialSupplyInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::create_with_initial_supply( @@ -1293,7 +1296,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_CREATE_RUID_WITH_INITIAL_SUPPLY_IDENT => { let input: NonFungibleResourceManagerCreateRuidWithInitialSupplyInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1311,16 +1314,17 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_MINT_EXPORT_NAME => { - let input: NonFungibleResourceManagerMintInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let input: NonFungibleResourceManagerMintInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = NonFungibleResourceManagerBlueprint::mint_non_fungible(input.entries, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_MINT_RUID_EXPORT_NAME => { let input: NonFungibleResourceManagerMintRuidInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::mint_ruid_non_fungible( @@ -1331,7 +1335,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_MINT_SINGLE_RUID_IDENT => { let input: NonFungibleResourceManagerMintSingleRuidInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::mint_single_ruid_non_fungible( @@ -1341,30 +1345,31 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_BURN_EXPORT_NAME => { - let input: ResourceManagerBurnInput = input.as_typed().map_err(|e| { + let input: ResourceManagerBurnInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::burn(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_PACKAGE_BURN_EXPORT_NAME => { - let input: ResourceManagerPackageBurnInput = input.as_typed().map_err(|e| { + let input: ResourceManagerPackageBurnInput = input.into_typed().map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::package_burn(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_DROP_EMPTY_BUCKET_EXPORT_NAME => { - let input: ResourceManagerDropEmptyBucketInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let input: ResourceManagerDropEmptyBucketInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = NonFungibleResourceManagerBlueprint::drop_empty_bucket(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_CREATE_EMPTY_BUCKET_EXPORT_NAME => { let _input: ResourceManagerCreateEmptyBucketInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1373,7 +1378,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_CREATE_EMPTY_VAULT_EXPORT_NAME => { let _input: ResourceManagerCreateEmptyVaultInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::create_empty_vault(api)?; @@ -1382,7 +1387,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_UPDATE_DATA_IDENT => { let input: NonFungibleResourceManagerUpdateDataInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::update_non_fungible_data( @@ -1395,7 +1400,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_EXISTS_IDENT => { let input: NonFungibleResourceManagerExistsInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::non_fungible_exists(input.id, api)?; @@ -1403,22 +1408,23 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_GET_RESOURCE_TYPE_EXPORT_NAME => { let _input: ResourceManagerGetResourceTypeInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::get_resource_type(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_GET_TOTAL_SUPPLY_EXPORT_NAME => { - let _input: ResourceManagerGetTotalSupplyInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let _input: ResourceManagerGetTotalSupplyInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = NonFungibleResourceManagerBlueprint::get_total_supply(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_RESOURCE_MANAGER_AMOUNT_FOR_WITHDRAWAL_EXPORT_NAME => { let input: ResourceManagerGetAmountForWithdrawalInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::amount_for_withdrawal( @@ -1430,7 +1436,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_RESOURCE_MANAGER_GET_NON_FUNGIBLE_IDENT => { let input: NonFungibleResourceManagerGetNonFungibleInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleResourceManagerBlueprint::get_non_fungible(input.id, api)?; @@ -1438,21 +1444,21 @@ impl ResourceNativePackage { } FUNGIBLE_VAULT_LOCK_FEE_IDENT => { - let input: FungibleVaultLockFeeInput = input.as_typed().map_err(|e| { + let input: FungibleVaultLockFeeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::lock_fee(input.amount, input.contingent, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_TAKE_EXPORT_NAME => { - let input: VaultTakeInput = input.as_typed().map_err(|e| { + let input: VaultTakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::take(&input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_TAKE_ADVANCED_EXPORT_NAME => { - let input: VaultTakeAdvancedInput = input.as_typed().map_err(|e| { + let input: VaultTakeAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::take_advanced( @@ -1463,35 +1469,35 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_RECALL_EXPORT_NAME => { - let input: VaultRecallInput = input.as_typed().map_err(|e| { + let input: VaultRecallInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::recall(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_FREEZE_EXPORT_NAME => { - let input: VaultFreezeInput = input.as_typed().map_err(|e| { + let input: VaultFreezeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::freeze(input.to_freeze, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_UNFREEZE_EXPORT_NAME => { - let input: VaultUnfreezeInput = input.as_typed().map_err(|e| { + let input: VaultUnfreezeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::unfreeze(input.to_unfreeze, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_PUT_EXPORT_NAME => { - let input: VaultPutInput = input.as_typed().map_err(|e| { + let input: VaultPutInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::put(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_GET_AMOUNT_EXPORT_NAME => { - let _input: VaultGetAmountInput = input.as_typed().map_err(|e| { + let _input: VaultGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::get_amount(api)?; @@ -1499,7 +1505,7 @@ impl ResourceNativePackage { } FUNGIBLE_VAULT_CREATE_PROOF_OF_AMOUNT_EXPORT_NAME => { let input: FungibleVaultCreateProofOfAmountInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::create_proof_of_amount(input.amount, api)?; @@ -1507,7 +1513,7 @@ impl ResourceNativePackage { } FUNGIBLE_VAULT_LOCK_AMOUNT_EXPORT_NAME => { let input: FungibleVaultLockFungibleAmountInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::lock_amount(input.amount, api)?; @@ -1515,14 +1521,14 @@ impl ResourceNativePackage { } FUNGIBLE_VAULT_UNLOCK_AMOUNT_EXPORT_NAME => { let input: FungibleVaultUnlockFungibleAmountInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::unlock_amount(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_VAULT_BURN_EXPORT_NAME => { - let input: VaultBurnInput = input.as_typed().map_err(|e| { + let input: VaultBurnInput = input.into_typed().map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; let rtn = FungibleVaultBlueprint::burn(input.amount, api)?; @@ -1530,7 +1536,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_TAKE_ADVANCED_EXPORT_NAME => { - let input: VaultTakeAdvancedInput = input.as_typed().map_err(|e| { + let input: VaultTakeAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::take_advanced( @@ -1541,7 +1547,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_TAKE_EXPORT_NAME => { - let input: VaultTakeInput = input.as_typed().map_err(|e| { + let input: VaultTakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::take(&input.amount, api)?; @@ -1549,7 +1555,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_TAKE_NON_FUNGIBLES_IDENT => { let input: NonFungibleVaultTakeNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::take_non_fungibles( @@ -1559,21 +1565,21 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_RECALL_EXPORT_NAME => { - let input: VaultRecallInput = input.as_typed().map_err(|e| { + let input: VaultRecallInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::recall(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_FREEZE_EXPORT_NAME => { - let input: VaultFreezeInput = input.as_typed().map_err(|e| { + let input: VaultFreezeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::freeze(input.to_freeze, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_UNFREEZE_EXPORT_NAME => { - let input: VaultUnfreezeInput = input.as_typed().map_err(|e| { + let input: VaultUnfreezeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::unfreeze(input.to_unfreeze, api)?; @@ -1581,7 +1587,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_RECALL_NON_FUNGIBLES_IDENT => { let input: NonFungibleVaultRecallNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::recall_non_fungibles( @@ -1591,14 +1597,14 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_PUT_EXPORT_NAME => { - let input: VaultPutInput = input.as_typed().map_err(|e| { + let input: VaultPutInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::put(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_GET_AMOUNT_EXPORT_NAME => { - let _input: VaultGetAmountInput = input.as_typed().map_err(|e| { + let _input: VaultGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::get_amount(api)?; @@ -1606,7 +1612,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_GET_NON_FUNGIBLE_LOCAL_IDS_IDENT => { let input: NonFungibleVaultGetNonFungibleLocalIdsInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::get_non_fungible_local_ids(input.limit, api)?; @@ -1614,7 +1620,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_CONTAINS_NON_FUNGIBLE_IDENT => { let input: NonFungibleVaultContainsNonFungibleInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::contains_non_fungible(input.id, api)?; @@ -1622,7 +1628,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_CREATE_PROOF_OF_NON_FUNGIBLES_IDENT => { let input: NonFungibleVaultCreateProofOfNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::create_proof_of_non_fungibles(input.ids, api)?; @@ -1630,7 +1636,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_LOCK_NON_FUNGIBLES_EXPORT_NAME => { let input: NonFungibleVaultLockNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::lock_non_fungibles(&input.local_ids, api)?; @@ -1638,14 +1644,14 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_UNLOCK_NON_FUNGIBLES_EXPORT_NAME => { let input: NonFungibleVaultUnlockNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::unlock_non_fungibles(input.local_ids, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_VAULT_BURN_EXPORT_NAME => { - let input: VaultBurnInput = input.as_typed().map_err(|e| { + let input: VaultBurnInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::burn(input.amount, api)?; @@ -1653,7 +1659,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_VAULT_BURN_NON_FUNGIBLES_IDENT => { let input: NonFungibleVaultBurnNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleVaultBlueprint::burn_non_fungibles( @@ -1664,21 +1670,21 @@ impl ResourceNativePackage { } FUNGIBLE_PROOF_CLONE_EXPORT_NAME => { - let _input: ProofCloneInput = input.as_typed().map_err(|e| { + let _input: ProofCloneInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleProofBlueprint::clone(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_PROOF_GET_AMOUNT_EXPORT_NAME => { - let _input: ProofGetAmountInput = input.as_typed().map_err(|e| { + let _input: ProofGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleProofBlueprint::get_amount(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_PROOF_GET_RESOURCE_ADDRESS_EXPORT_NAME => { - let _input: ProofGetResourceAddressInput = input.as_typed().map_err(|e| { + let _input: ProofGetResourceAddressInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1686,21 +1692,21 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_PROOF_DROP_EXPORT_NAME => { - let input: ProofDropInput = input.as_typed().map_err(|e| { + let input: ProofDropInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleProofBlueprint::drop(input.proof, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_PROOF_ON_DROP_EXPORT_NAME => { - let _input: OnDropInput = input.as_typed().map_err(|e| { + let _input: OnDropInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleProofBlueprint::on_drop(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_PROOF_ON_MOVE_EXPORT_NAME => { - let input: OnMoveInput = input.as_typed().map_err(|e| { + let input: OnMoveInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleProofBlueprint::on_move( @@ -1712,21 +1718,21 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_CLONE_EXPORT_NAME => { - let _input: ProofCloneInput = input.as_typed().map_err(|e| { + let _input: ProofCloneInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::clone(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_GET_AMOUNT_EXPORT_NAME => { - let _input: ProofGetAmountInput = input.as_typed().map_err(|e| { + let _input: ProofGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::get_amount(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_GET_LOCAL_IDS_IDENT => { - let _input: NonFungibleProofGetLocalIdsInput = input.as_typed().map_err(|e| { + let _input: NonFungibleProofGetLocalIdsInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::get_local_ids(api)?; @@ -1734,7 +1740,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_PROOF_GET_RESOURCE_ADDRESS_EXPORT_NAME => { - let _input: ProofGetResourceAddressInput = input.as_typed().map_err(|e| { + let _input: ProofGetResourceAddressInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1742,21 +1748,21 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_DROP_EXPORT_NAME => { - let input: ProofDropInput = input.as_typed().map_err(|e| { + let input: ProofDropInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::drop(input.proof, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_ON_DROP_EXPORT_NAME => { - let _input: OnDropInput = input.as_typed().map_err(|e| { + let _input: OnDropInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::on_drop(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_PROOF_ON_MOVE_EXPORT_NAME => { - let input: OnMoveInput = input.as_typed().map_err(|e| { + let input: OnMoveInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleProofBlueprint::on_move( @@ -1769,21 +1775,21 @@ impl ResourceNativePackage { } FUNGIBLE_BUCKET_PUT_EXPORT_NAME => { - let input: BucketPutInput = input.as_typed().map_err(|e| { + let input: BucketPutInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::put(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_TAKE_EXPORT_NAME => { - let input: BucketTakeInput = input.as_typed().map_err(|e| { + let input: BucketTakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::take(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_TAKE_ADVANCED_EXPORT_NAME => { - let input: BucketTakeAdvancedInput = input.as_typed().map_err(|e| { + let input: BucketTakeAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::take_advanced( @@ -1794,7 +1800,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_GET_AMOUNT_EXPORT_NAME => { - let _input: BucketGetAmountInput = input.as_typed().map_err(|e| { + let _input: BucketGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1803,7 +1809,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&amount)) } FUNGIBLE_BUCKET_GET_RESOURCE_ADDRESS_EXPORT_NAME => { - let _input: BucketGetResourceAddressInput = input.as_typed().map_err(|e| { + let _input: BucketGetResourceAddressInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::get_resource_address(api)?; @@ -1811,49 +1817,49 @@ impl ResourceNativePackage { } FUNGIBLE_BUCKET_CREATE_PROOF_OF_AMOUNT_EXPORT_NAME => { let input: FungibleBucketCreateProofOfAmountInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::create_proof_of_amount(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_CREATE_PROOF_OF_ALL_EXPORT_NAME => { - let _input: BucketCreateProofOfAllInput = input.as_typed().map_err(|e| { + let _input: BucketCreateProofOfAllInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::create_proof_of_all(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_LOCK_AMOUNT_EXPORT_NAME => { - let input: FungibleBucketLockAmountInput = input.as_typed().map_err(|e| { + let input: FungibleBucketLockAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::lock_amount(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } FUNGIBLE_BUCKET_UNLOCK_AMOUNT_EXPORT_NAME => { - let input: FungibleBucketLockAmountInput = input.as_typed().map_err(|e| { + let input: FungibleBucketLockAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = FungibleBucketBlueprint::unlock_amount(input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_PUT_EXPORT_NAME => { - let input: BucketPutInput = input.as_typed().map_err(|e| { + let input: BucketPutInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::put(input.bucket, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_TAKE_EXPORT_NAME => { - let input: BucketTakeInput = input.as_typed().map_err(|e| { + let input: BucketTakeInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::take(&input.amount, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_TAKE_ADVANCED_EXPORT_NAME => { - let input: BucketTakeAdvancedInput = input.as_typed().map_err(|e| { + let input: BucketTakeAdvancedInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::take_advanced( @@ -1864,14 +1870,14 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_TAKE_NON_FUNGIBLES_EXPORT_NAME => { - let input: BucketTakeNonFungiblesInput = input.as_typed().map_err(|e| { + let input: BucketTakeNonFungiblesInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::take_non_fungibles(&input.ids, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_GET_AMOUNT_EXPORT_NAME => { - let _input: BucketGetAmountInput = input.as_typed().map_err(|e| { + let _input: BucketGetAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1880,7 +1886,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&amount)) } NON_FUNGIBLE_BUCKET_GET_RESOURCE_ADDRESS_EXPORT_NAME => { - let _input: BucketGetResourceAddressInput = input.as_typed().map_err(|e| { + let _input: BucketGetResourceAddressInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let address = NonFungibleBucketBlueprint::get_resource_address(api)?; @@ -1888,7 +1894,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_BUCKET_CREATE_PROOF_OF_NON_FUNGIBLES_EXPORT_NAME => { let input: NonFungibleBucketCreateProofOfNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = @@ -1896,7 +1902,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_CREATE_PROOF_OF_ALL_EXPORT_NAME => { - let _input: BucketCreateProofOfAllInput = input.as_typed().map_err(|e| { + let _input: BucketCreateProofOfAllInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::create_proof_of_all(api)?; @@ -1904,15 +1910,16 @@ impl ResourceNativePackage { } NON_FUNGIBLE_BUCKET_GET_NON_FUNGIBLE_LOCAL_IDS_EXPORT_NAME => { - let _input: BucketGetNonFungibleLocalIdsInput = input.as_typed().map_err(|e| { - RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) - })?; + let _input: BucketGetNonFungibleLocalIdsInput = + input.into_typed().map_err(|e| { + RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) + })?; let rtn = NonFungibleBucketBlueprint::get_non_fungible_local_ids(api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } NON_FUNGIBLE_BUCKET_CONTAINS_NON_FUNGIBLE_EXPORT_NAME => { let input: NonFungibleVaultContainsNonFungibleInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::contains_non_fungible(input.id, api)?; @@ -1920,7 +1927,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_BUCKET_LOCK_NON_FUNGIBLES_EXPORT_NAME => { let input: NonFungibleBucketLockNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::lock_non_fungibles(&input.local_ids, api)?; @@ -1928,7 +1935,7 @@ impl ResourceNativePackage { } NON_FUNGIBLE_BUCKET_UNLOCK_NON_FUNGIBLES_EXPORT_NAME => { let input: NonFungibleBucketUnlockNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = NonFungibleBucketBlueprint::unlock_non_fungibles(input.local_ids, api)?; @@ -1949,7 +1956,7 @@ impl ResourceNativePackage { } WORKTOP_DRAIN_IDENT => WorktopBlueprint::drain(input, api), AUTH_ZONE_POP_EXPORT_NAME => { - let _input: AuthZonePopInput = input.as_typed().map_err(|e| { + let _input: AuthZonePopInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1958,7 +1965,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&proof)) } AUTH_ZONE_PUSH_EXPORT_NAME => { - let input: AuthZonePushInput = input.as_typed().map_err(|e| { + let input: AuthZonePushInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1967,7 +1974,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&())) } AUTH_ZONE_CREATE_PROOF_OF_AMOUNT_EXPORT_NAME => { - let input: AuthZoneCreateProofOfAmountInput = input.as_typed().map_err(|e| { + let input: AuthZoneCreateProofOfAmountInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1981,7 +1988,7 @@ impl ResourceNativePackage { } AUTH_ZONE_CREATE_PROOF_OF_NON_FUNGIBLES_EXPORT_NAME => { let input: AuthZoneCreateProofOfNonFungiblesInput = - input.as_typed().map_err(|e| { + input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -1994,7 +2001,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&proof)) } AUTH_ZONE_CREATE_PROOF_OF_ALL_EXPORT_NAME => { - let input: AuthZoneCreateProofOfAllInput = input.as_typed().map_err(|e| { + let input: AuthZoneCreateProofOfAllInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -2003,7 +2010,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&proof)) } AUTH_ZONE_DROP_PROOFS_EXPORT_NAME => { - let _input: AuthZoneDropProofsInput = input.as_typed().map_err(|e| { + let _input: AuthZoneDropProofsInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -2012,7 +2019,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&())) } AUTH_ZONE_DROP_SIGNATURE_PROOFS_EXPORT_NAME => { - let _input: AuthZoneDropProofsInput = input.as_typed().map_err(|e| { + let _input: AuthZoneDropProofsInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -2021,7 +2028,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&())) } AUTH_ZONE_DROP_REGULAR_PROOFS_EXPORT_NAME => { - let _input: AuthZoneDropProofsInput = input.as_typed().map_err(|e| { + let _input: AuthZoneDropProofsInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -2030,7 +2037,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&())) } AUTH_ZONE_DRAIN_EXPORT_NAME => { - let _input: AuthZoneDrainInput = input.as_typed().map_err(|e| { + let _input: AuthZoneDrainInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -2039,7 +2046,7 @@ impl ResourceNativePackage { Ok(IndexedScryptoValue::from_typed(&proofs)) } AUTH_ZONE_ASSERT_ACCESS_RULE_EXPORT_NAME => { - let input: AuthZoneAssertAccessRuleInput = input.as_typed().map_err(|e| { + let input: AuthZoneAssertAccessRuleInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/blueprints/resource/worktop.rs b/radix-engine/src/blueprints/resource/worktop.rs index 7b0ca0c7ae6..66924c81ba8 100644 --- a/radix-engine/src/blueprints/resource/worktop.rs +++ b/radix-engine/src/blueprints/resource/worktop.rs @@ -38,14 +38,14 @@ impl WorktopBlueprint { pub(crate) fn drop( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelSubstateApi + SystemApi, { // TODO: add `drop` callback for drop atomicity, which will remove the necessity of kernel api. let input: WorktopDropInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; // Detach buckets from worktop @@ -58,7 +58,7 @@ impl WorktopBlueprint { )?; let mut worktop = api .kernel_read_substate(handle)? - .as_typed::>() + .into_typed::>() .unwrap() .into_payload(); let resources = core::mem::replace(&mut worktop.resources, index_map_new()); @@ -83,12 +83,12 @@ impl WorktopBlueprint { pub(crate) fn put( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopPutInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let resource_address = input.bucket.resource_address(api)?; @@ -118,12 +118,12 @@ impl WorktopBlueprint { pub(crate) fn take( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopTakeInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let resource_address = input.resource_address; @@ -167,12 +167,12 @@ impl WorktopBlueprint { pub(crate) fn take_non_fungibles( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopTakeNonFungiblesInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let resource_address = input.resource_address; @@ -217,12 +217,12 @@ impl WorktopBlueprint { pub(crate) fn take_all( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopTakeAllInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let worktop_handle = api.actor_open_field( @@ -246,12 +246,12 @@ impl WorktopBlueprint { pub(crate) fn assert_contains( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopAssertContainsInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let worktop_handle = api.actor_open_field( @@ -277,12 +277,12 @@ impl WorktopBlueprint { pub(crate) fn assert_contains_amount( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopAssertContainsAmountInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let worktop_handle = api.actor_open_field( @@ -308,12 +308,12 @@ impl WorktopBlueprint { pub(crate) fn assert_contains_non_fungibles( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let input: WorktopAssertContainsNonFungiblesInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let worktop_handle = api.actor_open_field( @@ -340,12 +340,12 @@ impl WorktopBlueprint { pub(crate) fn drain( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + SystemApi, { let _input: WorktopDrainInput = input - .as_typed() + .into_typed() .map_err(|e| RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)))?; let worktop_handle = api.actor_open_field( diff --git a/radix-engine/src/blueprints/test_utils/package.rs b/radix-engine/src/blueprints/test_utils/package.rs index c48b1da6511..2d639a83fd3 100644 --- a/radix-engine/src/blueprints/test_utils/package.rs +++ b/radix-engine/src/blueprints/test_utils/package.rs @@ -22,13 +22,13 @@ impl TestUtilsNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { TEST_UTILS_PANIC_IDENT => { - let TestUtilsPanicInput(input) = input.as_typed().map_err(|e| { + let TestUtilsPanicInput(input) = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = TestUtilsBlueprint::panic(input.as_str(), api)?; diff --git a/radix-engine/src/blueprints/transaction_processor/package.rs b/radix-engine/src/blueprints/transaction_processor/package.rs index 6302a207cb6..918c65ebc5e 100644 --- a/radix-engine/src/blueprints/transaction_processor/package.rs +++ b/radix-engine/src/blueprints/transaction_processor/package.rs @@ -81,13 +81,13 @@ impl TransactionProcessorNativePackage { input: &IndexedScryptoValue, version: TransactionProcessorV1MinorVersion, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelNodeApi + KernelSubstateApi + SystemApi, { match export_name { TRANSACTION_PROCESSOR_RUN_IDENT => { - let input: TransactionProcessorRunInput = input.as_typed().map_err(|e| { + let input: TransactionProcessorRunInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/blueprints/transaction_processor/tx_processor.rs b/radix-engine/src/blueprints/transaction_processor/tx_processor.rs index db8f5a30f29..f03bc297c85 100644 --- a/radix-engine/src/blueprints/transaction_processor/tx_processor.rs +++ b/radix-engine/src/blueprints/transaction_processor/tx_processor.rs @@ -102,10 +102,10 @@ where let rtn = invocation_handler(api, scrypto_value)?; - let result = IndexedScryptoValue::from_vec(rtn) + let result = IndexedScryptoValue::from_untrusted_payload_vec(rtn) .map_err(|error| TransactionProcessorError::InvocationOutputDecodeError(error))?; processor.handle_call_return_data(&result, &worktop, api)?; - Ok(InstructionOutput::CallReturn(result.into())) + Ok(InstructionOutput::CallReturn(result.into_payload_bytes())) } pub struct TransactionProcessorBlueprint; @@ -289,7 +289,7 @@ impl TransactionProcessorBlueprint { let result = IndexedScryptoValue::from_typed(&rtn); processor.handle_call_return_data(&result, &worktop, api)?; - InstructionOutput::CallReturn(result.into()) + InstructionOutput::CallReturn(result.into_payload_bytes()) } InstructionV1::CloneProof { proof_id } => { let proof = processor.get_proof(&proof_id)?; diff --git a/radix-engine/src/blueprints/transaction_tracker/package.rs b/radix-engine/src/blueprints/transaction_tracker/package.rs index 74346c468ce..2c128bb47b5 100644 --- a/radix-engine/src/blueprints/transaction_tracker/package.rs +++ b/radix-engine/src/blueprints/transaction_tracker/package.rs @@ -117,13 +117,13 @@ impl TransactionTrackerNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { TRANSACTION_TRACKER_CREATE_EXPORT_NAME => { - let input: TransactionTrackerCreateInput = input.as_typed().map_err(|e| { + let input: TransactionTrackerCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/errors.rs b/radix-engine/src/errors.rs index a7f460b385a..94c5cb262d2 100644 --- a/radix-engine/src/errors.rs +++ b/radix-engine/src/errors.rs @@ -323,7 +323,7 @@ pub enum NativeRuntimeError { /// A panic was encountered in Native code. Trap { export_name: String, - input: ScryptoValue, + input: ScryptoOwnedRawValue, error: String, }, } diff --git a/radix-engine/src/kernel/call_frame.rs b/radix-engine/src/kernel/call_frame.rs index df82accc5f0..a8413f3d578 100644 --- a/radix-engine/src/kernel/call_frame.rs +++ b/radix-engine/src/kernel/call_frame.rs @@ -858,8 +858,10 @@ impl CallFrame { ) -> Result<(), ProcessSubstateKeyError> { match substate_key { SubstateKey::Sorted((_, map_key)) | SubstateKey::Map(map_key) => { - let key_value = IndexedScryptoValue::from_slice(map_key) - .map_err(|e| ProcessSubstateKeyError::DecodeError(e))?; + // Explicitly check the map keys are valid SBOR + let key_value = + IndexedScryptoValue::from_untrusted_payload_slice(map_key.as_slice()) + .map_err(|e| ProcessSubstateKeyError::DecodeError(e))?; // Check owns if !key_value.owned_nodes().is_empty() { @@ -889,7 +891,9 @@ impl CallFrame { ) -> Result<(), ProcessSubstateKeyError> { match substate_key { SubstateKey::Sorted((_, map_key)) | SubstateKey::Map(map_key) => { - let key = IndexedScryptoValue::from_slice(map_key).unwrap(); + // Explicitly check the map keys are valid SBOR + let key = + IndexedScryptoValue::from_untrusted_payload_slice(map_key.as_slice()).unwrap(); // Check owns if !key.owned_nodes().is_empty() { @@ -912,7 +916,7 @@ impl CallFrame { Ok(()) } - pub fn open_substate IndexedScryptoValue>( + pub fn open_substate IndexedOwnedScryptoValue>( &mut self, substate_io: &mut SubstateIO, node_id: &NodeId, @@ -946,7 +950,7 @@ impl CallFrame { &mut adapter, )?; - let value_len = substate_value.len(); + let value_len = substate_value.payload_len(); for node_id in substate_value.references() { if node_id.is_global() { // Again, safe to overwrite because Global and DirectAccess are exclusive. @@ -987,7 +991,7 @@ impl CallFrame { substate_io: &'f mut SubstateIO, lock_handle: SubstateHandle, handler: &mut H, - ) -> Result<&'f IndexedScryptoValue, CallbackError> { + ) -> Result<&'f IndexedOwnedScryptoValue, CallbackError> { let OpenedSubstate { global_substate_handle, .. @@ -1015,7 +1019,7 @@ impl CallFrame { &mut self, substate_io: &'f mut SubstateIO, lock_handle: SubstateHandle, - substate: IndexedScryptoValue, + substate: IndexedOwnedScryptoValue, handler: &mut impl CallFrameIOAccessHandler, ) -> Result<(), CallbackError> { let mut opened_substate = @@ -1145,7 +1149,7 @@ impl CallFrame { node_id: &NodeId, partition_num: PartitionNumber, key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, handler: &mut impl CallFrameIOAccessHandler, ) -> Result<(), CallbackError> { let (_ref_origin, device) = self.get_node_ref(node_id).ok_or_else(|| { @@ -1177,7 +1181,8 @@ impl CallFrame { partition_num: PartitionNumber, key: &SubstateKey, handler: &mut impl CallFrameIOAccessHandler, - ) -> Result, CallbackError> { + ) -> Result, CallbackError> + { let (_ref_origin, device) = self.get_node_ref(node_id).ok_or_else(|| { CallbackError::Error(CallFrameRemoveSubstateError::NodeNotVisible( node_id.clone(), @@ -1239,7 +1244,7 @@ impl CallFrame { limit: u32, handler: &mut impl CallFrameIOAccessHandler, ) -> Result< - Vec<(SubstateKey, IndexedScryptoValue)>, + Vec<(SubstateKey, IndexedOwnedScryptoValue)>, CallbackError, > { // Check node visibility @@ -1295,7 +1300,7 @@ impl CallFrame { count: u32, handler: &mut impl CallFrameIOAccessHandler, ) -> Result< - Vec<(SortedKey, IndexedScryptoValue)>, + Vec<(SortedKey, IndexedOwnedScryptoValue)>, CallbackError, > { // Check node visibility diff --git a/radix-engine/src/kernel/heap.rs b/radix-engine/src/kernel/heap.rs index c5fd8cff00d..c6740223bc9 100644 --- a/radix-engine/src/kernel/heap.rs +++ b/radix-engine/src/kernel/heap.rs @@ -34,7 +34,7 @@ impl Heap { partition_number: PartitionNumber, on_io_access: &mut F, ) -> Result< - BTreeMap, + BTreeMap, CallbackError, > { if let Some(substates) = self.nodes.get_mut(node_id) { @@ -53,7 +53,7 @@ impl Heap { partition_number, substate_key: substate_key.clone(), }, - old_size: Some(substate_value.len()), + old_size: Some(substate_value.payload_len()), new_size: None, }, ) @@ -74,7 +74,7 @@ impl Heap { node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Option<&IndexedScryptoValue> { + ) -> Option<&IndexedOwnedScryptoValue> { self.nodes .get(node_id) .and_then(|node| node.get(&partition_num)) @@ -82,12 +82,12 @@ impl Heap { } /// Inserts or overwrites a substate - pub fn set_substate Result<(), E>>( + pub fn set_substate<'v, E, F: FnMut(&Heap, IOAccess) -> Result<(), E>>( &mut self, node_id: NodeId, partition_number: PartitionNumber, substate_key: SubstateKey, - substate_value: IndexedScryptoValue, + substate_value: IndexedOwnedScryptoValue, on_io_access: &mut F, ) -> Result<(), E> { let entry = self @@ -99,14 +99,14 @@ impl Heap { .entry(substate_key.clone()); let old_size; - let new_size = Some(substate_value.len()); + let new_size = Some(substate_value.payload_len()); match entry { btree_map::Entry::Vacant(e) => { old_size = None; e.insert(substate_value); } btree_map::Entry::Occupied(mut e) => { - old_size = Some(e.get().len()); + old_size = Some(e.get().payload_len()); e.insert(substate_value); } } @@ -133,7 +133,7 @@ impl Heap { partition_number: PartitionNumber, substate_key: &SubstateKey, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { let substate_value = self .nodes .get_mut(node_id) @@ -149,7 +149,7 @@ impl Heap { partition_number, substate_key: substate_key.clone(), }, - old_size: Some(value.len()), + old_size: Some(value.payload_len()), new_size: None, }, )?; @@ -188,7 +188,7 @@ impl Heap { partition_number: PartitionNumber, count: u32, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { let node_substates = self .nodes .get_mut(node_id) @@ -216,7 +216,7 @@ impl Heap { partition_number, substate_key: key.clone(), }, - old_size: Some(value.len()), + old_size: Some(value.payload_len()), new_size: None, }, )?; @@ -242,7 +242,9 @@ impl Heap { .map(|(k, v)| { ( k.clone(), - v.iter().map(|(k, v)| (k.clone(), v.len())).collect(), + v.iter() + .map(|(k, v)| (k.clone(), v.payload_len())) + .collect(), ) }) .collect(); @@ -292,7 +294,7 @@ impl Heap { partition_number: *partition_number, substate_key: substate_key.clone(), }, - old_size: Some(substate_value.len()), + old_size: Some(substate_value.payload_len()), new_size: None, }, ) @@ -339,8 +341,8 @@ mod tests { let node_id = NodeId([0u8; NodeId::LENGTH]); let partition_number1 = PartitionNumber(5); let partition_number2 = PartitionNumber(6); - let key1 = SubstateKey::Map(scrypto_encode(&"1").unwrap()); - let key2 = SubstateKey::Map(scrypto_encode(&"2").unwrap()); + let key1 = SubstateKey::Map(scrypto_encode_to_payload(&"1").unwrap()); + let key2 = SubstateKey::Map(scrypto_encode_to_payload(&"2").unwrap()); heap.create_node( NodeId([0u8; NodeId::LENGTH]), btreemap!( diff --git a/radix-engine/src/kernel/kernel.rs b/radix-engine/src/kernel/kernel.rs index 4f2c5583abf..f4e9888e114 100644 --- a/radix-engine/src/kernel/kernel.rs +++ b/radix-engine/src/kernel/kernel.rs @@ -145,7 +145,7 @@ impl<'h, M: KernelCallbackObject, S: SubstateDatabase> BootLoader<'h, M, S> { BOOT_LOADER_PARTITION, &SubstateKey::Field(BOOT_LOADER_KERNEL_BOOT_FIELD_KEY), ) - .map(|v| scrypto_decode(v.as_slice()).unwrap()) + .map(|v| v.into_typed().unwrap()) .unwrap_or(KernelBoot::babylon()); // Create System @@ -599,7 +599,7 @@ where TYPE_INFO_FIELD_PARTITION, &TypeInfoField::TypeInfo.into(), ) { - let type_info: TypeInfoSubstate = substate.as_typed().unwrap(); + let type_info: TypeInfoSubstate = substate.into_typed().unwrap(); match type_info { TypeInfoSubstate::Object(info) if info.blueprint_info.blueprint_id.package_address == RESOURCE_PACKAGE @@ -635,7 +635,7 @@ where &FungibleBucketField::Liquid.into(), ) .unwrap(); - let liquid: FieldSubstate = substate.as_typed().unwrap(); + let liquid: FieldSubstate = substate.into_typed().unwrap(); Some(BucketSnapshot::Fungible { resource_address, @@ -650,7 +650,7 @@ where &NonFungibleBucketField::Liquid.into(), ) .unwrap(); - let liquid: FieldSubstate = substate.as_typed().unwrap(); + let liquid: FieldSubstate = substate.into_typed().unwrap(); Some(BucketSnapshot::NonFungible { resource_address, @@ -665,7 +665,7 @@ where TYPE_INFO_FIELD_PARTITION, &TypeInfoField::TypeInfo.into(), ) { - let type_info: TypeInfoSubstate = substate.as_typed().unwrap(); + let type_info: TypeInfoSubstate = substate.into_typed().unwrap(); match type_info { TypeInfoSubstate::Object(ObjectInfo { blueprint_info: BlueprintInfo { blueprint_id, .. }, @@ -693,7 +693,7 @@ where &TypeInfoField::TypeInfo.into(), ) .unwrap(); - let info: TypeInfoSubstate = substate.as_typed().unwrap(); + let info: TypeInfoSubstate = substate.into_typed().unwrap(); let resource_address = ResourceAddress::new_or_panic(info.outer_object().unwrap().into()); @@ -705,7 +705,7 @@ where &FungibleProofField::ProofRefs.into(), ) .unwrap(); - let proof: FieldSubstate = substate.as_typed().unwrap(); + let proof: FieldSubstate = substate.into_typed().unwrap(); Some(ProofSnapshot::Fungible { resource_address, @@ -720,7 +720,7 @@ where &TypeInfoField::TypeInfo.into(), ) .unwrap(); - let info: TypeInfoSubstate = substate.as_typed().unwrap(); + let info: TypeInfoSubstate = substate.into_typed().unwrap(); let resource_address = ResourceAddress::new_or_panic(info.outer_object().unwrap().into()); @@ -732,7 +732,7 @@ where &NonFungibleProofField::ProofRefs.into(), ) .unwrap(); - let proof: FieldSubstate = substate.as_typed().unwrap(); + let proof: FieldSubstate = substate.into_typed().unwrap(); Some(ProofSnapshot::NonFungible { resource_address, @@ -767,7 +767,7 @@ where } #[trace_resources] - fn kernel_open_substate_with_default IndexedScryptoValue>( + fn kernel_open_substate_with_default IndexedOwnedScryptoValue>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, @@ -829,7 +829,7 @@ where partition_num, &substate_key, flags, - None:: IndexedScryptoValue>, + None:: IndexedOwnedScryptoValue>, M::LockData::default(), &mut handler, ) @@ -890,7 +890,7 @@ where fn kernel_read_substate( &mut self, lock_handle: SubstateHandle, - ) -> Result<&IndexedScryptoValue, RuntimeError> { + ) -> Result<&IndexedOwnedScryptoValue, RuntimeError> { let mut handler = KernelHandler { callback: self.callback, prev_frame: self.prev_frame_stack.last(), @@ -916,7 +916,7 @@ where fn kernel_write_substate( &mut self, lock_handle: SubstateHandle, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { let mut read_only = as_read_only!(self); M::on_write_substate( @@ -973,7 +973,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { self.callback.on_set_substate(SetSubstateEvent::Start( node_id, @@ -1016,7 +1016,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.callback .on_remove_substate(RemoveSubstateEvent::Start( node_id, @@ -1095,7 +1095,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, limit: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.callback .on_drain_substates(DrainSubstatesEvent::Start(limit))?; @@ -1133,7 +1133,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, limit: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.callback .on_scan_sorted_substates(ScanSortedSubstatesEvent::Start)?; diff --git a/radix-engine/src/kernel/kernel_api.rs b/radix-engine/src/kernel/kernel_api.rs index a6fb27959cb..293c7ef4217 100644 --- a/radix-engine/src/kernel/kernel_api.rs +++ b/radix-engine/src/kernel/kernel_api.rs @@ -54,7 +54,7 @@ pub trait KernelSubstateApi { ) -> Result<(), RuntimeError>; /// Locks a substate to make available for reading and/or writing - fn kernel_open_substate_with_default IndexedScryptoValue>( + fn kernel_open_substate_with_default IndexedOwnedScryptoValue>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, @@ -77,7 +77,7 @@ pub trait KernelSubstateApi { partition_num, substate_key, flags, - None:: IndexedScryptoValue>, + None:: IndexedOwnedScryptoValue>, lock_data, ) } @@ -93,13 +93,13 @@ pub trait KernelSubstateApi { fn kernel_read_substate( &mut self, lock_handle: SubstateHandle, - ) -> Result<&IndexedScryptoValue, RuntimeError>; + ) -> Result<&IndexedOwnedScryptoValue, RuntimeError>; /// Writes a value to the substate locked by the given lock handle fn kernel_write_substate( &mut self, lock_handle: SubstateHandle, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError>; /// Sets a value to a substate without checking for the original value. @@ -111,7 +111,7 @@ pub trait KernelSubstateApi { node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError>; /// Removes a substate from a node and returns the original value. @@ -123,7 +123,7 @@ pub trait KernelSubstateApi { node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Result, RuntimeError>; + ) -> Result, RuntimeError>; /// Reads substates under a node in sorted lexicographical order /// @@ -134,7 +134,7 @@ pub trait KernelSubstateApi { node_id: &NodeId, partition_num: PartitionNumber, count: u32, - ) -> Result, RuntimeError>; + ) -> Result, RuntimeError>; fn kernel_scan_keys( &mut self, @@ -148,18 +148,18 @@ pub trait KernelSubstateApi { node_id: &NodeId, partition_num: PartitionNumber, count: u32, - ) -> Result, RuntimeError>; + ) -> Result, RuntimeError>; } #[derive(Debug, Clone)] -pub struct KernelInvocation { +pub struct KernelInvocation<'v, C> { pub call_frame_data: C, - pub args: IndexedScryptoValue, + pub args: IndexedScryptoValue<'v>, } -impl KernelInvocation { +impl<'v, C: CallFrameReferences> KernelInvocation<'v, C> { pub fn len(&self) -> usize { - self.call_frame_data.len() + self.args.len() + self.call_frame_data.len() + self.args.payload_len() } } diff --git a/radix-engine/src/kernel/kernel_callback_api.rs b/radix-engine/src/kernel/kernel_callback_api.rs index 996518d0536..899a2b0b7ad 100644 --- a/radix-engine/src/kernel/kernel_callback_api.rs +++ b/radix-engine/src/kernel/kernel_callback_api.rs @@ -67,7 +67,7 @@ pub enum OpenSubstateEvent<'a> { pub enum ReadSubstateEvent<'a> { OnRead { handle: SubstateHandle, - value: &'a IndexedScryptoValue, + value: &'a IndexedScryptoValue<'a>, device: SubstateDevice, }, IOAccess(&'a IOAccess), @@ -91,7 +91,7 @@ impl<'a> ReadSubstateEvent<'a> { pub enum WriteSubstateEvent<'a> { Start { handle: SubstateHandle, - value: &'a IndexedScryptoValue, + value: &'a IndexedScryptoValue<'a>, }, IOAccess(&'a IOAccess), } @@ -107,7 +107,7 @@ pub enum SetSubstateEvent<'a> { &'a NodeId, &'a PartitionNumber, &'a SubstateKey, - &'a IndexedScryptoValue, + &'a IndexedScryptoValue<'a>, ), IOAccess(&'a IOAccess), } @@ -263,9 +263,9 @@ pub trait KernelCallbackObject: Sized { /// Callback on invocation. This is where the callback object should execute application logic. fn invoke_upstream( - args: &IndexedScryptoValue, + args: &IndexedScryptoValue<'_>, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelApi; diff --git a/radix-engine/src/kernel/substate_io.rs b/radix-engine/src/kernel/substate_io.rs index 3129c7ca51d..c78ac7c7b3c 100644 --- a/radix-engine/src/kernel/substate_io.rs +++ b/radix-engine/src/kernel/substate_io.rs @@ -13,7 +13,7 @@ use radix_common::prelude::{NodeId, PartitionNumber}; use radix_common::types::{SortedKey, SubstateKey}; use radix_common::ScryptoSbor; use radix_engine_interface::api::LockFlags; -use radix_engine_interface::types::IndexedScryptoValue; +use radix_engine_interface::types::{IndexedOwnedScryptoValue, IndexedScryptoValue}; use radix_substate_store_interface::db_key_mapper::SubstateKeyContent; use sbor::prelude::Vec; use sbor::rust::collections::BTreeSet; @@ -30,7 +30,7 @@ pub enum SubstateDevice { pub struct LockData { pub flags: LockFlags, device: SubstateDevice, - virtualized: Option, + virtualized: Option, } /// Callback for store access, from SubstateIO @@ -309,7 +309,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { Ok(()) } - pub fn open_substate IndexedScryptoValue>( + pub fn open_substate IndexedOwnedScryptoValue>( &mut self, device: SubstateDevice, node_id: &NodeId, @@ -318,7 +318,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { flags: LockFlags, default: Option, handler: &mut impl IOAccessHandler, - ) -> Result<(u32, &IndexedScryptoValue), CallbackError> { + ) -> Result<(u32, &IndexedOwnedScryptoValue), CallbackError> { match device { SubstateDevice::Heap => { if flags.contains(LockFlags::UNMODIFIED_BASE) { @@ -424,7 +424,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { &mut self, global_lock_handle: u32, handler: &mut H, - ) -> Result<&IndexedScryptoValue, H::Error> { + ) -> Result<&IndexedOwnedScryptoValue, H::Error> { let (node_id, partition_num, substate_key, lock_data) = self.substate_locks.get(global_lock_handle); @@ -454,7 +454,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { pub fn write_substate( &mut self, global_lock_handle: u32, - substate: IndexedScryptoValue, + substate: IndexedOwnedScryptoValue, handler: &mut impl IOAccessHandler, ) -> Result<(), CallbackError> { let (node_id, partition_num, substate_key, lock_data) = @@ -512,7 +512,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, handler: &mut impl IOAccessHandler, ) -> Result<(), CallbackError> { if self @@ -556,7 +556,8 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { partition_num: PartitionNumber, key: &SubstateKey, handler: &mut impl IOAccessHandler, - ) -> Result, CallbackError> { + ) -> Result, CallbackError> + { if self.substate_locks.is_locked(node_id, partition_num, key) { return Err(CallbackError::Error( CallFrameRemoveSubstateError::SubstateLocked( @@ -615,7 +616,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { count: u32, handler: &mut impl IOAccessHandler, ) -> Result< - Vec<(SubstateKey, IndexedScryptoValue)>, + Vec<(SubstateKey, IndexedOwnedScryptoValue)>, CallbackError, > { let substates = match device { @@ -649,7 +650,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { count: u32, handler: &mut impl IOAccessHandler, ) -> Result< - Vec<(SortedKey, IndexedScryptoValue)>, + Vec<(SortedKey, IndexedOwnedScryptoValue)>, CallbackError, > { let substates = match device { @@ -679,7 +680,7 @@ impl<'g, S: CommitableSubstateStore + 'g> SubstateIO<'g, S> { partition_num: PartitionNumber, substate_key: &SubstateKey, handler: &mut impl IOAccessHandler, - ) -> Result, CallbackError> { + ) -> Result, CallbackError> { let value = match location { SubstateDevice::Heap => heap.get_substate(node_id, partition_num, substate_key), SubstateDevice::Store => store diff --git a/radix-engine/src/object_modules/metadata/package.rs b/radix-engine/src/object_modules/metadata/package.rs index 989ede286bd..db6685edd6d 100644 --- a/radix-engine/src/object_modules/metadata/package.rs +++ b/radix-engine/src/object_modules/metadata/package.rs @@ -189,13 +189,13 @@ impl MetadataNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { METADATA_CREATE_IDENT => { - let _input: MetadataCreateInput = input.as_typed().map_err(|e| { + let _input: MetadataCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -204,7 +204,7 @@ impl MetadataNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } METADATA_CREATE_WITH_DATA_IDENT => { - let input: MetadataCreateWithDataInput = input.as_typed().map_err(|e| { + let input: MetadataCreateWithDataInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -213,7 +213,7 @@ impl MetadataNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } METADATA_SET_IDENT => { - let input: MetadataSetInput = input.as_typed().map_err(|e| { + let input: MetadataSetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -222,7 +222,7 @@ impl MetadataNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } METADATA_LOCK_IDENT => { - let input: MetadataLockInput = input.as_typed().map_err(|e| { + let input: MetadataLockInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -231,7 +231,7 @@ impl MetadataNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } METADATA_GET_IDENT => { - let input: MetadataGetInput = input.as_typed().map_err(|e| { + let input: MetadataGetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -240,7 +240,7 @@ impl MetadataNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } METADATA_REMOVE_IDENT => { - let input: MetadataRemoveInput = input.as_typed().map_err(|e| { + let input: MetadataRemoveInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -369,26 +369,26 @@ impl MetadataNativePackage { )); } - let sbor_value = scrypto_encode(&MetadataEntryEntryPayload::from_content_source( + let sbor_value = scrypto_encode_to_value(&MetadataEntryEntryPayload::from_content_source( value.clone(), )) .unwrap(); - if sbor_value.len() > MAX_METADATA_VALUE_SBOR_LEN { + if sbor_value.payload_len() > MAX_METADATA_VALUE_SBOR_LEN { return Err(RuntimeError::ApplicationError( ApplicationError::MetadataError(MetadataError::ValueSborExceedsMaxLength { max: MAX_METADATA_VALUE_SBOR_LEN, - actual: sbor_value.len(), + actual: sbor_value.payload_len(), }), )); } - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, MetadataCollection::EntryKeyValue.collection_index(), - &scrypto_encode(&key).unwrap(), + &key, LockFlags::MUTABLE, )?; - api.key_value_entry_set(handle, sbor_value)?; + api.key_value_entry_set(handle, sbor_value.into_unvalidated())?; api.key_value_entry_close(handle)?; Runtime::emit_event(api, SetMetadataEvent { key, value })?; @@ -400,10 +400,10 @@ impl MetadataNativePackage { where Y: SystemApi, { - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, MetadataCollection::EntryKeyValue.collection_index(), - &scrypto_encode(&key).unwrap(), + &key, LockFlags::MUTABLE, )?; api.key_value_entry_lock(handle)?; @@ -416,15 +416,14 @@ impl MetadataNativePackage { where Y: SystemApi, { - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, MetadataCollection::EntryKeyValue.collection_index(), - &scrypto_encode(&key).unwrap(), + &key, LockFlags::read_only(), )?; - let data = api.key_value_entry_get(handle)?; - let substate: Option = scrypto_decode(&data).unwrap(); + let substate: Option = api.key_value_entry_get_typed(handle)?; Ok(substate.map(|v: MetadataEntryEntryPayload| v.fully_update_and_into_latest_version())) } @@ -433,11 +432,8 @@ impl MetadataNativePackage { where Y: SystemApi, { - let cur_value: Option = api.actor_remove_key_value_entry_typed( - ACTOR_STATE_SELF, - 0u8, - &scrypto_encode(&key).unwrap(), - )?; + let cur_value: Option = + api.actor_remove_key_value_entry_typed(ACTOR_STATE_SELF, 0u8, &key)?; let rtn = cur_value.is_some(); Runtime::emit_event(api, RemoveMetadataEvent { key })?; diff --git a/radix-engine/src/object_modules/role_assignment/package.rs b/radix-engine/src/object_modules/role_assignment/package.rs index 5306961308d..99e8386a104 100644 --- a/radix-engine/src/object_modules/role_assignment/package.rs +++ b/radix-engine/src/object_modules/role_assignment/package.rs @@ -163,7 +163,7 @@ impl RoleAssignmentNativePackage { ) -> Result { let permission = match ident { ROLE_ASSIGNMENT_SET_IDENT => { - let input: RoleAssignmentSetInput = input.as_typed().map_err(|e| { + let input: RoleAssignmentSetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let role_list = Self::resolve_update_role_method_permission( @@ -207,13 +207,13 @@ impl RoleAssignmentNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { ROLE_ASSIGNMENT_CREATE_IDENT => { - let input: RoleAssignmentCreateInput = input.as_typed().map_err(|e| { + let input: RoleAssignmentCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -221,7 +221,7 @@ impl RoleAssignmentNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ROLE_ASSIGNMENT_SET_OWNER_IDENT => { - let input: RoleAssignmentSetOwnerInput = input.as_typed().map_err(|e| { + let input: RoleAssignmentSetOwnerInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -229,7 +229,7 @@ impl RoleAssignmentNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ROLE_ASSIGNMENT_LOCK_OWNER_IDENT => { - let _input: RoleAssignmentLockOwnerInput = input.as_typed().map_err(|e| { + let _input: RoleAssignmentLockOwnerInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -237,7 +237,7 @@ impl RoleAssignmentNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ROLE_ASSIGNMENT_SET_IDENT => { - let input: RoleAssignmentSetInput = input.as_typed().map_err(|e| { + let input: RoleAssignmentSetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -245,7 +245,7 @@ impl RoleAssignmentNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } ROLE_ASSIGNMENT_GET_IDENT => { - let input: RoleAssignmentGetInput = input.as_typed().map_err(|e| { + let input: RoleAssignmentGetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; @@ -318,7 +318,7 @@ impl RoleAssignmentNativePackage { )?; let owner_role_substate: FieldSubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; let owner_role = owner_role_substate @@ -573,10 +573,10 @@ impl RoleAssignmentNativePackage { _ => e, })?; - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, RoleAssignmentCollection::AccessRuleKeyValue.collection_index(), - &scrypto_encode(&module_role_key).unwrap(), + &module_role_key, LockFlags::MUTABLE, )?; @@ -602,10 +602,10 @@ impl RoleAssignmentNativePackage { { let module_role_key = ModuleRoleKey::new(module, role_key); - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, RoleAssignmentCollection::AccessRuleKeyValue.collection_index(), - &scrypto_encode(&module_role_key).unwrap(), + &module_role_key, LockFlags::read_only(), )?; @@ -647,14 +647,14 @@ impl RoleAssignmentBottlenoseExtension { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { ROLE_ASSIGNMENT_GET_OWNER_ROLE_IDENT => { input - .as_typed::() + .into_typed::() .map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; diff --git a/radix-engine/src/object_modules/royalty/package.rs b/radix-engine/src/object_modules/royalty/package.rs index 2c9f62a6be3..ef3c5e83012 100644 --- a/radix-engine/src/object_modules/royalty/package.rs +++ b/radix-engine/src/object_modules/royalty/package.rs @@ -168,20 +168,20 @@ impl RoyaltyNativePackage { export_name: &str, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi, { match export_name { COMPONENT_ROYALTY_CREATE_IDENT => { - let input: ComponentRoyaltyCreateInput = input.as_typed().map_err(|e| { + let input: ComponentRoyaltyCreateInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ComponentRoyaltyBlueprint::create(input.royalty_config, api)?; Ok(IndexedScryptoValue::from_typed(&rtn)) } COMPONENT_ROYALTY_SET_ROYALTY_IDENT => { - let input: ComponentRoyaltySetInput = input.as_typed().map_err(|e| { + let input: ComponentRoyaltySetInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ComponentRoyaltyBlueprint::set_royalty(input.method, input.amount, api)?; @@ -189,7 +189,7 @@ impl RoyaltyNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } COMPONENT_ROYALTY_LOCK_ROYALTY_IDENT => { - let input: ComponentRoyaltyLockInput = input.as_typed().map_err(|e| { + let input: ComponentRoyaltyLockInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ComponentRoyaltyBlueprint::lock_royalty(input.method, api)?; @@ -197,7 +197,7 @@ impl RoyaltyNativePackage { Ok(IndexedScryptoValue::from_typed(&rtn)) } COMPONENT_ROYALTY_CLAIM_ROYALTIES_IDENT => { - let _input: ComponentClaimRoyaltiesInput = input.as_typed().map_err(|e| { + let _input: ComponentClaimRoyaltiesInput = input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn = ComponentRoyaltyBlueprint::claim_royalties(api)?; @@ -383,10 +383,10 @@ impl ComponentRoyaltyBlueprint { { RoyaltyUtil::verify_royalty_amounts(vec![amount.clone()].iter(), true, api)?; - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, ComponentRoyaltyCollection::MethodAmountKeyValue.collection_index(), - &scrypto_encode(&method).unwrap(), + &method, LockFlags::MUTABLE, )?; api.key_value_entry_set_typed( @@ -402,10 +402,10 @@ impl ComponentRoyaltyBlueprint { where Y: SystemApi, { - let handle = api.actor_open_key_value_entry( + let handle = api.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, ComponentRoyaltyCollection::MethodAmountKeyValue.collection_index(), - &scrypto_encode(&method).unwrap(), + &method, LockFlags::MUTABLE, )?; api.key_value_entry_lock(handle)?; @@ -454,7 +454,7 @@ impl ComponentRoyaltyBlueprint { )?; let component_royalty: FieldSubstate = api .kernel_read_substate(accumulator_handle)? - .as_typed() + .into_typed() .unwrap(); let component_royalty = component_royalty @@ -467,7 +467,7 @@ impl ComponentRoyaltyBlueprint { ROYALTY_BASE_PARTITION .at_offset(ROYALTY_CONFIG_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(ident).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(ident).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = @@ -479,7 +479,7 @@ impl ComponentRoyaltyBlueprint { )?; let substate: KeyValueEntrySubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; substate .into_value() diff --git a/radix-engine/src/system/bootstrap.rs b/radix-engine/src/system/bootstrap.rs index eb9937ddf83..9983d141cb7 100644 --- a/radix-engine/src/system/bootstrap.rs +++ b/radix-engine/src/system/bootstrap.rs @@ -589,7 +589,7 @@ pub fn create_system_bootstrap_flash( for (partition_num, partition_substates) in partitions { let mut substates = BTreeMap::new(); for (key, value) in partition_substates { - substates.insert(key, value.into()); + substates.insert(key, value.into_payload_bytes()); } to_flash.insert((address.into_node_id(), partition_num), substates); } diff --git a/radix-engine/src/system/checkers/component_royalty_db_checker.rs b/radix-engine/src/system/checkers/component_royalty_db_checker.rs index 63f8a1ffc72..a6e51bdbbcf 100644 --- a/radix-engine/src/system/checkers/component_royalty_db_checker.rs +++ b/radix-engine/src/system/checkers/component_royalty_db_checker.rs @@ -18,8 +18,8 @@ impl ApplicationChecker for ComponentRoyaltyDatabaseChecker { node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - key: &Vec, - value: &Vec, + key: &ScryptoRawValue, + value: &ScryptoRawValue, ) { // Ignore if the module id is not the royalty module. if module_id != ModuleId::Royalty { @@ -31,18 +31,18 @@ impl ApplicationChecker for ComponentRoyaltyDatabaseChecker { node_id, module_id, collection_index, - key: key.clone(), - value: value.clone(), + key: key.ref_into_owned(), + value: value.ref_into_owned(), }; let collection_index = ComponentRoyaltyCollection::from_repr(collection_index).expect("Impossible case!"); match collection_index { ComponentRoyaltyCollection::MethodAmountKeyValue => { - let _key = scrypto_decode::(&key) - .expect("Impossible Case."); - let value = scrypto_decode::(&value) - .expect("Impossible Case."); + let _key: ComponentRoyaltyMethodAmountKeyPayload = + key.decode_as().expect("Impossible Case."); + let value: ComponentRoyaltyMethodAmountEntryPayload = + value.decode_as().expect("Impossible Case."); self.check_royalty_amount(value, location); } diff --git a/radix-engine/src/system/checkers/error.rs b/radix-engine/src/system/checkers/error.rs index 391daf6174e..76adb05c2f8 100644 --- a/radix-engine/src/system/checkers/error.rs +++ b/radix-engine/src/system/checkers/error.rs @@ -1,3 +1,4 @@ +use radix_common::prelude::ScryptoOwnedRawValue; use radix_engine_interface::prelude::*; #[derive(Debug, Clone)] @@ -22,14 +23,14 @@ pub enum ErrorLocation { node_id: NodeId, module_id: ModuleId, field_index: FieldIndex, - value: Vec, + value: ScryptoOwnedRawValue, }, CollectionEntry { info: BlueprintInfo, node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - key: Vec, - value: Vec, + key: ScryptoOwnedRawValue, + value: ScryptoOwnedRawValue, }, } diff --git a/radix-engine/src/system/checkers/kernel_db_checker.rs b/radix-engine/src/system/checkers/kernel_db_checker.rs index 7f5faa4404b..2687e33b25a 100644 --- a/radix-engine/src/system/checkers/kernel_db_checker.rs +++ b/radix-engine/src/system/checkers/kernel_db_checker.rs @@ -48,7 +48,7 @@ impl KernelDatabaseChecker { } for (_, value) in substate_db.list_entries(&db_partition_key) { - let value = IndexedScryptoValue::from_vec(value) + let value = IndexedScryptoValue::from_untrusted_payload_vec(value) .map_err(KernelDatabaseCheckError::DecodeError)?; for owned in value.owned_nodes() { let state = internal_nodes diff --git a/radix-engine/src/system/checkers/package_royalty_db_checker.rs b/radix-engine/src/system/checkers/package_royalty_db_checker.rs index 46245ebc8b6..9268f938040 100644 --- a/radix-engine/src/system/checkers/package_royalty_db_checker.rs +++ b/radix-engine/src/system/checkers/package_royalty_db_checker.rs @@ -34,8 +34,8 @@ where node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - key: &Vec, - value: &Vec, + key: &ScryptoRawValue, + value: &ScryptoRawValue, ) { // Ignore if the module id is not the royalty module. if module_id != ModuleId::Royalty { @@ -47,19 +47,18 @@ where node_id, module_id, collection_index, - key: key.clone(), - value: value.clone(), + key: key.ref_into_owned(), + value: value.ref_into_owned(), }; let collection_index = PackageCollection::from_repr(collection_index).expect("Impossible case!"); match collection_index { PackageCollection::BlueprintVersionRoyaltyConfigKeyValue => { - let _key = scrypto_decode::(&key) - .expect("Impossible Case."); - let value = - scrypto_decode::(&value) - .expect("Impossible Case."); + let _key: PackageBlueprintVersionRoyaltyConfigKeyPayload = + key.decode_as().expect("Impossible Case."); + let value: PackageBlueprintVersionRoyaltyConfigEntryPayload = + value.decode_as().expect("Impossible Case."); self.check_package_royalty_config(value, location); } /* Nothing else to check in the package substates. */ diff --git a/radix-engine/src/system/checkers/resource_db_checker.rs b/radix-engine/src/system/checkers/resource_db_checker.rs index ae8ac0e5a81..7088944891a 100644 --- a/radix-engine/src/system/checkers/resource_db_checker.rs +++ b/radix-engine/src/system/checkers/resource_db_checker.rs @@ -10,9 +10,7 @@ use crate::blueprints::resource::{ }; use crate::internal_prelude::*; use crate::system::checkers::ApplicationChecker; -use radix_common::math::Decimal; -use radix_common::prelude::{scrypto_decode, RESOURCE_PACKAGE}; -use radix_common::types::{NodeId, ResourceAddress}; +use radix_common::prelude::*; use radix_engine_interface::api::FieldIndex; use radix_engine_interface::blueprints::consensus_manager::CONSENSUS_MANAGER_BLUEPRINT; use radix_engine_interface::blueprints::resource::{ @@ -20,7 +18,6 @@ use radix_engine_interface::blueprints::resource::{ NON_FUNGIBLE_RESOURCE_MANAGER_BLUEPRINT, NON_FUNGIBLE_VAULT_BLUEPRINT, }; use sbor::rust::collections::BTreeMap; -use sbor::rust::vec::Vec; #[derive(Debug, Default)] pub struct ResourceCounter { @@ -51,7 +48,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { node_id: NodeId, module_id: ModuleId, field_index: FieldIndex, - value: &Vec, + value: &ScryptoRawValue, ) { if !info.blueprint_id.package_address.eq(&RESOURCE_PACKAGE) || module_id != ModuleId::Main { return; @@ -63,7 +60,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { match field { FungibleResourceManagerField::TotalSupply => { let total_supply: FungibleResourceManagerTotalSupplyFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); let address = ResourceAddress::new_or_panic(node_id.0); let tracker = self.resources.entry(address).or_default(); tracker.expected = @@ -77,7 +74,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { match field { FungibleVaultField::Balance => { let vault_balance: FungibleVaultBalanceFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); let address = ResourceAddress::new_or_panic( info.outer_obj_info.expect().into_node_id().0, ); @@ -103,7 +100,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { match field { NonFungibleResourceManagerField::TotalSupply => { let total_supply: NonFungibleResourceManagerTotalSupplyFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); let address = ResourceAddress::new_or_panic(node_id.0); let tracker = self.resources.entry(address).or_default(); tracker.expected = @@ -117,7 +114,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { match field { NonFungibleVaultField::Balance => { let vault_balance: NonFungibleVaultBalanceFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); let address = ResourceAddress::new_or_panic( info.outer_obj_info.expect().into_node_id().0, ); @@ -147,7 +144,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { match field { ConsensusManagerField::CurrentValidatorSet => { let validator_set: ConsensusManagerCurrentValidatorSetFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); let mut prev = Decimal::MAX; for validator in validator_set @@ -164,7 +161,7 @@ impl ApplicationChecker for ResourceDatabaseChecker { } ConsensusManagerField::CurrentProposalStatistic => { let stats: ConsensusManagerCurrentProposalStatisticFieldPayload = - scrypto_decode(value).unwrap(); + value.decode_as().unwrap(); stats_count = stats .fully_update_and_into_latest_version() .validator_statistics @@ -187,8 +184,8 @@ impl ApplicationChecker for ResourceDatabaseChecker { node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - _key: &Vec, - _value: &Vec, + _key: &ScryptoRawValue, + _value: &ScryptoRawValue, ) { if !info.blueprint_id.package_address.eq(&RESOURCE_PACKAGE) || module_id != ModuleId::Main { return; diff --git a/radix-engine/src/system/checkers/resource_event_checker.rs b/radix-engine/src/system/checkers/resource_event_checker.rs index 0fada18b937..c00d4b39101 100644 --- a/radix-engine/src/system/checkers/resource_event_checker.rs +++ b/radix-engine/src/system/checkers/resource_event_checker.rs @@ -5,9 +5,8 @@ use crate::blueprints::resource::{ use crate::system::checkers::ApplicationEventChecker; use radix_common::constants::RESOURCE_PACKAGE; use radix_common::math::{CheckedAdd, CheckedSub, Decimal}; -use radix_common::prelude::{scrypto_decode, ResourceAddress}; +use radix_common::prelude::*; use radix_common::traits::ScryptoEvent; -use radix_common::types::NodeId; use radix_engine_interface::api::ModuleId; use radix_engine_interface::blueprints::resource::{ FUNGIBLE_RESOURCE_MANAGER_BLUEPRINT, FUNGIBLE_VAULT_BLUEPRINT, @@ -16,7 +15,6 @@ use radix_engine_interface::blueprints::resource::{ use radix_engine_interface::prelude::{BlueprintInfo, Emitter}; use radix_engine_interface::types::EventTypeIdentifier; use sbor::rust::collections::BTreeMap; -use sbor::rust::vec::Vec; #[derive(Debug, Default)] pub struct ResourceEventChecker { @@ -37,7 +35,7 @@ impl ApplicationEventChecker for ResourceEventChecker { &mut self, info: BlueprintInfo, event_id: EventTypeIdentifier, - event_payload: &Vec, + event_payload: &ScryptoRawPayload, ) { if info.blueprint_id.package_address.ne(&RESOURCE_PACKAGE) { return; @@ -50,13 +48,13 @@ impl ApplicationEventChecker for ResourceEventChecker { match event_name.as_str() { MintFungibleResourceEvent::EVENT_NAME => { let event: MintFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.resource_tracker.entry(address).or_default(); *tracked = tracked.checked_add(event.amount).unwrap(); } BurnFungibleResourceEvent::EVENT_NAME => { let event: BurnFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.resource_tracker.entry(address).or_default(); *tracked = tracked.checked_sub(event.amount).unwrap(); @@ -75,14 +73,14 @@ impl ApplicationEventChecker for ResourceEventChecker { match event_name.as_str() { MintNonFungibleResourceEvent::EVENT_NAME => { let event: MintNonFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let amount: Decimal = event.ids.len().into(); let tracked = self.resource_tracker.entry(address).or_default(); *tracked = tracked.checked_add(amount).unwrap(); } BurnNonFungibleResourceEvent::EVENT_NAME => { let event: BurnNonFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let amount: Decimal = event.ids.len().into(); let tracked = self.resource_tracker.entry(address).or_default(); *tracked = tracked.checked_sub(amount).unwrap(); @@ -101,13 +99,13 @@ impl ApplicationEventChecker for ResourceEventChecker { match event_name.as_str() { fungible_vault::DepositEvent::EVENT_NAME => { let event: fungible_vault::DepositEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); *tracked = tracked.checked_add(event.amount).unwrap(); } fungible_vault::WithdrawEvent::EVENT_NAME => { let event: fungible_vault::WithdrawEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); *tracked = tracked.checked_sub(event.amount).unwrap(); if tracked.is_negative() { @@ -116,7 +114,7 @@ impl ApplicationEventChecker for ResourceEventChecker { } fungible_vault::RecallEvent::EVENT_NAME => { let event: fungible_vault::RecallEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); *tracked = tracked.checked_sub(event.amount).unwrap(); if tracked.is_negative() { @@ -125,7 +123,7 @@ impl ApplicationEventChecker for ResourceEventChecker { } fungible_vault::PayFeeEvent::EVENT_NAME => { let event: fungible_vault::PayFeeEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); *tracked = tracked.checked_sub(event.amount).unwrap(); if tracked.is_negative() { @@ -142,14 +140,14 @@ impl ApplicationEventChecker for ResourceEventChecker { match event_name.as_str() { non_fungible_vault::DepositEvent::EVENT_NAME => { let event: non_fungible_vault::DepositEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); let amount: Decimal = event.ids.len().into(); *tracked = tracked.checked_add(amount).unwrap(); } non_fungible_vault::WithdrawEvent::EVENT_NAME => { let event: non_fungible_vault::WithdrawEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); let amount: Decimal = event.ids.len().into(); *tracked = tracked.checked_sub(amount).unwrap(); @@ -159,7 +157,7 @@ impl ApplicationEventChecker for ResourceEventChecker { } fungible_vault::RecallEvent::EVENT_NAME => { let event: non_fungible_vault::RecallEvent = - scrypto_decode(event_payload).unwrap(); + event_payload.decode_as().unwrap(); let tracked = self.vault_tracker.entry(node_id).or_default(); let amount: Decimal = event.ids.len().into(); *tracked = tracked.checked_sub(amount).unwrap(); diff --git a/radix-engine/src/system/checkers/role_assignment_db_checker.rs b/radix-engine/src/system/checkers/role_assignment_db_checker.rs index b07a2c7ca28..da06dec0881 100644 --- a/radix-engine/src/system/checkers/role_assignment_db_checker.rs +++ b/radix-engine/src/system/checkers/role_assignment_db_checker.rs @@ -29,7 +29,7 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { node_id: NodeId, module_id: ModuleId, field_index: FieldIndex, - value: &Vec, + value: &ScryptoRawValue, ) { // The method responsible for the addition of errors to the checker state. This method will // add the location information. @@ -40,7 +40,7 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { node_id, module_id, field_index, - value: value.clone(), + value: value.ref_into_owned(), }, error, }) @@ -60,7 +60,7 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { match typed_field_index { RoleAssignmentField::Owner => { - let owner_role = scrypto_decode::(&value) + let owner_role: RoleAssignmentOwnerFieldPayload = value.decode_as() .expect("The application database checker does not check for this and assumes that other layers have checked for it."); Self::check_owner_role_entry(owner_role, &mut add_error) } @@ -73,8 +73,8 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - key: &Vec, - value: &Vec, + key: &ScryptoRawValue, + value: &ScryptoRawValue, ) { // The method responsible for the addition of errors to the checker state. This method will // add the location information. @@ -85,8 +85,8 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { node_id, module_id, collection_index, - key: key.clone(), - value: value.clone(), + key: key.as_value_ref().into_owned(), + value: value.as_value_ref().into_owned(), }, error, }) @@ -106,9 +106,9 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { match typed_collection_index { RoleAssignmentCollection::AccessRuleKeyValue => { - let module_role_key = scrypto_decode::(&key) + let module_role_key: RoleAssignmentAccessRuleKeyPayload = key.decode_as() .expect("The application database checker does not check for this and assumes that other layers have checked for it."); - let access_rule = scrypto_decode::(&value) + let access_rule: RoleAssignmentAccessRuleEntryPayload = value.decode_as() .expect("The application database checker does not check for this and assumes that other layers have checked for it."); Self::check_role_assignment( diff --git a/radix-engine/src/system/checkers/system_db_checker.rs b/radix-engine/src/system/checkers/system_db_checker.rs index eb8969d9057..aac86062abe 100644 --- a/radix-engine/src/system/checkers/system_db_checker.rs +++ b/radix-engine/src/system/checkers/system_db_checker.rs @@ -5,9 +5,7 @@ use crate::system::system_db_reader::{ use crate::system::system_substates::FieldSubstate; use crate::system::type_info::TypeInfoSubstate; use radix_blueprint_schema_init::Condition; -use radix_common::prelude::{ - scrypto_decode, scrypto_encode, Hash, ScryptoValue, VersionedScryptoSchema, -}; +use radix_common::prelude::*; use radix_engine_interface::api::{FieldIndex, ModuleId}; use radix_engine_interface::blueprints::package::{ BlueprintDefinition, BlueprintPayloadIdentifier, BlueprintType, KeyOrValue, @@ -143,7 +141,7 @@ pub trait ApplicationChecker { _node_id: NodeId, _module_id: ModuleId, _field_index: FieldIndex, - _value: &Vec, + _value: &ScryptoRawValue, ) { } @@ -153,8 +151,8 @@ pub trait ApplicationChecker { _node_id: NodeId, _module_id: ModuleId, _collection_index: CollectionIndex, - _key: &Vec, - _value: &Vec, + _key: &ScryptoRawValue, + _value: &ScryptoRawValue, ) { } @@ -503,7 +501,8 @@ impl SystemDatabaseChecker { _ => return Err(SystemPartitionCheckError::InvalidTypeInfoKey), }; - let _type_info: TypeInfoSubstate = scrypto_decode(&value) + let _type_info: TypeInfoSubstate = value + .decode_as() .map_err(|_| SystemPartitionCheckError::InvalidTypeInfoValue)?; substate_count += 1; @@ -517,12 +516,13 @@ impl SystemDatabaseChecker { SubstateKey::Map(map_key) => map_key, _ => return Err(SystemPartitionCheckError::InvalidSchemaKey), }; - let _schema_hash: Hash = scrypto_decode(&map_key) + let _schema_hash: Hash = map_key + .decode_as() .map_err(|_| SystemPartitionCheckError::InvalidSchemaKey)?; - let _schema: KeyValueEntrySubstate = - scrypto_decode(&value) - .map_err(|_| SystemPartitionCheckError::InvalidSchemaValue)?; + let _schema: KeyValueEntrySubstate = value + .decode_as() + .map_err(|_| SystemPartitionCheckError::InvalidSchemaValue)?; substate_count += 1; } @@ -544,14 +544,14 @@ impl SystemDatabaseChecker { // Key Check { let map_key = match key { - SubstateKey::Map(map_key) => map_key, + SubstateKey::Map(map_key) => map_key.into_value(), _ => { return Err(SystemPartitionCheckError::InvalidKeyValueStoreKey) } }; reader - .validate_payload( - &map_key, + .validate_value( + map_key.as_unvalidated(), &key_schema, KEY_VALUE_STORE_PAYLOAD_MAX_DEPTH, ) @@ -560,17 +560,14 @@ impl SystemDatabaseChecker { // Value Check { - let entry: KeyValueEntrySubstate = scrypto_decode(&value) - .map_err(|_| { + let entry: KeyValueEntrySubstate = + value.decode_as().map_err(|_| { SystemPartitionCheckError::InvalidKeyValueStoreValue })?; if let Some(value) = entry.into_value() { - let entry_payload = scrypto_encode(&value).map_err(|_| { - SystemPartitionCheckError::InvalidKeyValueStoreValue - })?; reader - .validate_payload( - &entry_payload, + .validate_value( + value.into_unvalidated(), &value_schema, KEY_VALUE_STORE_PAYLOAD_MAX_DEPTH, ) @@ -623,9 +620,8 @@ impl SystemDatabaseChecker { ); } - let field: FieldSubstate = scrypto_decode(&value) - .map_err(|_| SystemPartitionCheckError::InvalidFieldValue)?; - let field_payload = scrypto_encode(field.payload()) + let field: FieldSubstate = value + .decode_as() .map_err(|_| SystemPartitionCheckError::InvalidFieldValue)?; let field_identifier = @@ -634,9 +630,10 @@ impl SystemDatabaseChecker { .get_blueprint_payload_schema(&type_target, &field_identifier) .map_err(SystemPartitionCheckError::MissingFieldSchema)?; + let field_payload = field.payload(); reader - .validate_payload( - &field_payload, + .validate_value( + field_payload.as_unvalidated(), &field_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) @@ -647,7 +644,7 @@ impl SystemDatabaseChecker { node_checker_state.node_id, module_id, field_index, - &field_payload, + field_payload, ); substate_count += 1; @@ -683,46 +680,39 @@ impl SystemDatabaseChecker { // Key Check let key = { let map_key = match key { - SubstateKey::Map(map_key) => map_key, + SubstateKey::Map(map_key) => map_key.into_value(), _ => return Err( SystemPartitionCheckError::InvalidIndexCollectionKey, ), }; reader - .validate_payload( - &map_key, + .validate_value( + map_key.into_unvalidated(), &key_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) .map_err(|_| { SystemPartitionCheckError::InvalidIndexCollectionKey - })?; - - map_key + })? }; // Value Check let value = { - let entry: IndexEntrySubstate = - scrypto_decode(&value).map_err(|_| { + let entry: IndexEntrySubstate = + value.decode_as().map_err(|_| { SystemPartitionCheckError::InvalidIndexCollectionValue })?; - let value = scrypto_encode(entry.value()).map_err(|_| { - SystemPartitionCheckError::InvalidIndexCollectionValue - })?; reader - .validate_payload( - &value, + .validate_value( + entry.into_value().into_unvalidated(), &value_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) .map_err(|_| { SystemPartitionCheckError::InvalidIndexCollectionValue - })?; - - value + })? }; self.application_checker.on_collection_entry( @@ -767,14 +757,15 @@ impl SystemDatabaseChecker { // Key check let key = { let map_key = match key { - SubstateKey::Map(map_key) => map_key, + SubstateKey::Map(map_key) => map_key.into_value(), _ => return Err( SystemPartitionCheckError::InvalidKeyValueCollectionKey, ), }; + reader - .validate_payload( - &map_key, + .validate_value( + map_key.into_unvalidated(), &key_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) @@ -782,20 +773,20 @@ impl SystemDatabaseChecker { SystemPartitionCheckError::FailedBlueprintSchemaCheck( key_identifier.clone(), ) - })?; - - map_key + })? }; // Value check { - let entry: KeyValueEntrySubstate = scrypto_decode(&value) + let entry: KeyValueEntrySubstate = value.decode_as() .map_err(|_| SystemPartitionCheckError::InvalidKeyValueCollectionValue)?; if let Some(value) = entry.into_value() { - let entry_payload = scrypto_encode(&value) - .map_err(|_| SystemPartitionCheckError::InvalidKeyValueCollectionValue)?; - reader.validate_payload(&entry_payload, &value_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH) - .map_err(|_| SystemPartitionCheckError::InvalidKeyValueCollectionValue)?; + let value = reader.validate_value( + value.into_unvalidated(), + &value_schema, + BLUEPRINT_PAYLOAD_MAX_DEPTH, + ) + .map_err(|_| SystemPartitionCheckError::InvalidKeyValueCollectionValue)?; self.application_checker.on_collection_entry( object_info.blueprint_info.clone(), @@ -803,7 +794,7 @@ impl SystemDatabaseChecker { module_id, collection_index, &key, - &entry_payload, + &value, ) } } @@ -838,43 +829,35 @@ impl SystemDatabaseChecker { ) { // Key Check let key = { - let sorted_key = match key { - SubstateKey::Sorted(sorted_key) => sorted_key, + let sorted_key_payload = match key { + SubstateKey::Sorted(sorted_key) => sorted_key.1.into_value(), _ => return Err( SystemPartitionCheckError::InvalidSortedIndexCollectionKey, ), }; - - reader.validate_payload( - &sorted_key.1, + reader.validate_value( + sorted_key_payload.into_unvalidated(), &key_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) .map_err(|_| { SystemPartitionCheckError::InvalidSortedIndexCollectionKey - })?; - - sorted_key.1 + })? }; // Value Check let value = { - let entry: SortedIndexEntrySubstate = scrypto_decode(&value) + let entry: SortedIndexEntrySubstate = value.decode_as() .map_err(|_| SystemPartitionCheckError::InvalidSortedIndexCollectionValue)?; - let value = scrypto_encode(entry.value()).map_err(|_| { - SystemPartitionCheckError::InvalidSortedIndexCollectionValue - })?; - reader.validate_payload( - &value, + reader.validate_value( + entry.into_value().into_unvalidated(), &value_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH, ) .map_err(|_| { SystemPartitionCheckError::InvalidSortedIndexCollectionValue - })?; - - value + })? }; self.application_checker.on_collection_entry( @@ -979,7 +962,7 @@ macro_rules! define_composite_checker { node_id: NodeId, module_id: ModuleId, field_index: FieldIndex, - value: &Vec, + value: &ScryptoRawValue, ) { $( $crate::system::checkers::ApplicationChecker::on_field( @@ -999,8 +982,8 @@ macro_rules! define_composite_checker { node_id: NodeId, module_id: ModuleId, collection_index: CollectionIndex, - key: &Vec, - value: &Vec, + key: &ScryptoRawValue, + value: &ScryptoRawValue, ) { $( $crate::system::checkers::ApplicationChecker::on_collection_entry( diff --git a/radix-engine/src/system/checkers/system_event_checker.rs b/radix-engine/src/system/checkers/system_event_checker.rs index 9acace090d8..14edd39499e 100644 --- a/radix-engine/src/system/checkers/system_event_checker.rs +++ b/radix-engine/src/system/checkers/system_event_checker.rs @@ -9,7 +9,12 @@ use radix_substate_store_interface::interface::SubstateDatabase; pub trait ApplicationEventChecker: Default { type ApplicationEventCheckerResults: Debug + Default; - fn on_event(&mut self, _info: BlueprintInfo, _event_id: EventTypeIdentifier, _event: &Vec) { + fn on_event( + &mut self, + _info: BlueprintInfo, + _event_id: EventTypeIdentifier, + _event: &ScryptoRawPayload, + ) { } fn on_finish(&self) -> Self::ApplicationEventCheckerResults { @@ -42,11 +47,11 @@ impl SystemEventChecker { pub fn check_all_events( &mut self, substate_db: &S, - events: &Vec)>>, + events: &Vec>, ) -> Result { let reader = SystemDatabaseReader::new(substate_db); - for (event_id, event_payload) in events.iter().flatten() { + for (event_id, event_value) in events.iter().flatten() { let type_target = match &event_id.0 { Emitter::Method(node_id, module_id) => reader .get_blueprint_type_target(node_id, *module_id) @@ -71,13 +76,17 @@ impl SystemEventChecker { .map_err(SystemEventCheckerError::MissingPayloadSchema)?; reader - .validate_payload(&event_payload, &event_schema, BLUEPRINT_PAYLOAD_MAX_DEPTH) + .validate_value( + event_value.as_value().as_unvalidated(), + &event_schema, + BLUEPRINT_PAYLOAD_MAX_DEPTH, + ) .map_err(|_| SystemEventCheckerError::InvalidEvent)?; self.application_checker.on_event( type_target.blueprint_info, event_id.clone(), - event_payload, + event_value, ); } diff --git a/radix-engine/src/system/node_init.rs b/radix-engine/src/system/node_init.rs index 33fe0d14ec8..ca0157071b4 100644 --- a/radix-engine/src/system/node_init.rs +++ b/radix-engine/src/system/node_init.rs @@ -2,7 +2,9 @@ use crate::internal_prelude::*; use crate::system::type_info::TypeInfoSubstate; use radix_engine_interface::types::SubstateKey; -pub fn type_info_partition(info: TypeInfoSubstate) -> BTreeMap { +pub fn type_info_partition( + info: TypeInfoSubstate, +) -> BTreeMap { BTreeMap::from([( TypeInfoField::TypeInfo.into(), IndexedScryptoValue::from_typed(&info), diff --git a/radix-engine/src/system/system.rs b/radix-engine/src/system/system.rs index 3755e07e410..fd25633854e 100644 --- a/radix-engine/src/system/system.rs +++ b/radix-engine/src/system/system.rs @@ -261,7 +261,7 @@ where self.validate_blueprint_payload( &validation_target, BlueprintPayloadIdentifier::Field(i as u8), - &field_value.value, + ScryptoUnvalidatedRawValue::from_payload_slice(&field_value.value), )?; } } @@ -270,15 +270,22 @@ where // Collections { for (collection_index, entries) in &kv_entries { - let payloads: Vec<(&Vec, &Vec)> = entries + let payloads: Vec<_> = entries .iter() - .filter_map(|(key, entry)| entry.value.as_ref().map(|e| (key, e))) + .filter_map(|(key, entry)| { + entry.value.as_ref().map(|e| { + ( + ScryptoUnvalidatedRawValue::from_payload_slice(key.as_slice()), + ScryptoUnvalidatedRawValue::from_payload_slice(e.as_slice()), + ) + }) + }) .collect(); self.validate_blueprint_kv_collection( &validation_target, *collection_index, - &payloads, + payloads, )?; } @@ -301,7 +308,7 @@ where .or_insert(BTreeMap::new()); for (schema_hash, schema) in additional_schemas { - let key = SubstateKey::Map(scrypto_encode(&schema_hash).unwrap()); + let key = SubstateKey::Map(scrypto_encode_to_payload(&schema_hash).unwrap()); let value = IndexedScryptoValue::from_typed(&KeyValueEntrySubstate::locked_entry(schema)); schema_partition.insert(key, value); @@ -345,7 +352,7 @@ where MAIN_BASE_PARTITION .at_offset(PACKAGE_BLUEPRINTS_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(bp_version_key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(bp_version_key).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -355,7 +362,7 @@ where )?; let substate: PackageBlueprintVersionDefinitionEntrySubstate = - self.api.kernel_read_substate(handle)?.as_typed().unwrap(); + self.api.kernel_read_substate(handle)?.into_typed().unwrap(); self.api.kernel_close_substate(handle)?; let definition = Rc::new(match substate.into_value() { @@ -424,7 +431,7 @@ where SystemLockData::default(), )?; let value = self.api.kernel_read_substate(handle)?; - let type_info = value.as_typed::().unwrap(); + let type_info = value.into_typed::().unwrap(); self.api.kernel_close_substate(handle)?; Ok(type_info) } @@ -544,12 +551,12 @@ where &mut self, actor: EmitterActor, event_name: String, - event_data: Vec, + event_data: ScryptoUnvalidatedRawPayload, event_flags: EventFlags, ) -> Result<(), RuntimeError> { self.api.kernel_get_system().modules.apply_execution_cost( ExecutionCostingEntry::EmitEvent { - size: event_data.len(), + size: event_data.unvalidated_payload_len(), }, )?; @@ -569,11 +576,13 @@ where EmitterActor::CurrentActor => self.get_actor_type_target()?, }; - self.validate_blueprint_payload( - &validation_target, - BlueprintPayloadIdentifier::Event(event_name.clone()), - &event_data, - )?; + let event_data = self + .validate_blueprint_payload( + &validation_target, + BlueprintPayloadIdentifier::Event(event_name.clone()), + event_data.into_value(), + )? + .into_owned_payload(); // Construct the event type identifier based on the current actor let event_type_identifier = match actor { @@ -619,23 +628,17 @@ where fn key_value_entry_remove_and_close_substate( &mut self, handle: KeyValueEntryHandle, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { // TODO: Replace with api::replace - let current_value = self - .api - .kernel_read_substate(handle) - .map(|v| v.as_slice().to_vec())?; + let substate = self.api.kernel_read_substate(handle)?; - let mut kv_entry: KeyValueEntrySubstate = - scrypto_decode(¤t_value).unwrap(); + let mut kv_entry: KeyValueEntrySubstate = + substate.into_typed().unwrap(); let value = kv_entry.remove(); self.kernel_write_substate(handle, IndexedScryptoValue::from_typed(&kv_entry))?; - self.kernel_close_substate(handle)?; - let current_value = scrypto_encode(&value).unwrap(); - - Ok(current_value) + Ok(value) } pub fn get_blueprint_info( @@ -879,7 +882,7 @@ where .substates .get(&TYPE_INFO_FIELD_PARTITION) .and_then(|x| x.get(&TypeInfoField::TypeInfo.into())) - .and_then(|x| x.as_typed().ok()); + .and_then(|x| x.into_typed().ok()); match type_info { Some(TypeInfoSubstate::GlobalAddressReservation(x)) => x, @@ -900,8 +903,10 @@ where LockFlags::MUTABLE, // This is to ensure the substate is lock free! SystemLockData::Default, )?; - let type_info: TypeInfoSubstate = - self.kernel_read_substate(lock_handle)?.as_typed().unwrap(); + let type_info: TypeInfoSubstate = self + .kernel_read_substate(lock_handle)? + .into_typed() + .unwrap(); self.kernel_close_substate(lock_handle)?; match type_info { TypeInfoSubstate::GlobalAddressPhantom(GlobalAddressPhantom { blueprint_id }) => { @@ -1120,7 +1125,7 @@ where { // Costing through kernel #[trace_resources] - fn field_read(&mut self, handle: FieldHandle) -> Result, RuntimeError> { + fn field_read(&mut self, handle: FieldHandle) -> Result { let data = self.api.kernel_get_lock_data(handle)?; match data { SystemLockData::Field(..) => {} @@ -1130,35 +1135,34 @@ where } self.api.kernel_read_substate(handle).map(|v| { - let wrapper: FieldSubstate = v.as_typed().unwrap(); - scrypto_encode(&wrapper.into_payload()).unwrap() + let wrapper: FieldSubstate = v.into_typed().unwrap(); + wrapper.into_payload() }) } // Costing through kernel #[trace_resources] - fn field_write(&mut self, handle: FieldHandle, buffer: Vec) -> Result<(), RuntimeError> { + fn field_write( + &mut self, + handle: FieldHandle, + buffer: ScryptoUnvalidatedRawValue, + ) -> Result<(), RuntimeError> { let data = self.api.kernel_get_lock_data(handle)?; - match data { + let value = match data { SystemLockData::Field(FieldLockData::Write { target, field_index, - }) => { - self.validate_blueprint_payload( - &target, - BlueprintPayloadIdentifier::Field(field_index), - &buffer, - )?; - } + }) => self.validate_blueprint_payload( + &target, + BlueprintPayloadIdentifier::Field(field_index), + buffer.as_value_ref(), + )?, _ => { return Err(RuntimeError::SystemError(SystemError::NotAFieldWriteHandle)); } }; - let value: ScryptoValue = - scrypto_decode(&buffer).expect("Should be valid due to payload check"); - let substate = IndexedScryptoValue::from_typed(&FieldSubstate::new_unlocked_field(value)); self.api.kernel_write_substate(handle, substate)?; @@ -1179,7 +1183,7 @@ where } let v = self.api.kernel_read_substate(handle)?; - let mut substate: FieldSubstate = v.as_typed().unwrap(); + let mut substate: FieldSubstate = v.into_typed().unwrap(); substate.lock(); let indexed = IndexedScryptoValue::from_typed(&substate); self.api.kernel_write_substate(handle, indexed)?; @@ -1311,7 +1315,7 @@ where inner_object_blueprint: &str, inner_object_fields: IndexMap, event_name: &str, - event_data: Vec, + event_data: ScryptoUnvalidatedOwnedRawPayload, ) -> Result<(GlobalAddress, NodeId), RuntimeError> { let actor_blueprint = self.get_object_info(&node_id)?.blueprint_info.blueprint_id; @@ -1351,7 +1355,7 @@ where ) -> Result, RuntimeError> { let object_info = self.get_object_info(&receiver)?; - let args = IndexedScryptoValue::from_vec(args).map_err(|e| { + let args = IndexedScryptoValue::from_untrusted_payload_vec(args).map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; @@ -1376,7 +1380,7 @@ where }), args, })) - .map(|v| v.into())?; + .map(|v| v.into_payload_bytes())?; SystemModuleMixer::on_call_method_finish(self, auth_actor_info)?; @@ -1392,7 +1396,7 @@ where ) -> Result, RuntimeError> { let object_info = self.get_object_info(&receiver)?; - let args = IndexedScryptoValue::from_vec(args).map_err(|e| { + let args = IndexedScryptoValue::from_untrusted_payload_vec(args).map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; @@ -1418,7 +1422,7 @@ where }), args, })) - .map(|v| v.into())?; + .map(|v| v.into_payload_bytes())?; SystemModuleMixer::on_call_method_finish(self, auth_actor_info)?; @@ -1451,7 +1455,7 @@ where } } - let args = IndexedScryptoValue::from_vec(args).map_err(|e| { + let args = IndexedScryptoValue::from_untrusted_payload_vec(args).map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; @@ -1477,7 +1481,7 @@ where }), args, })) - .map(|v| v.into())?; + .map(|v| v.into_payload_bytes())?; SystemModuleMixer::on_call_method_finish(self, auth_actor_info)?; @@ -1579,7 +1583,7 @@ where user_substates .into_iter() .map(|(_key, v)| { - let substate: FieldSubstate = v.as_typed().unwrap(); + let substate: FieldSubstate = v.into_typed().unwrap(); scrypto_encode(&substate.into_payload()).unwrap() }) .collect() @@ -1605,7 +1609,7 @@ where fn key_value_entry_get( &mut self, handle: KeyValueEntryHandle, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { let data = self.api.kernel_get_lock_data(handle)?; if !data.is_kv_entry() { return Err(RuntimeError::SystemError( @@ -1614,8 +1618,9 @@ where } self.api.kernel_read_substate(handle).map(|v| { - let wrapper: KeyValueEntrySubstate = v.as_typed().unwrap(); - scrypto_encode(&wrapper.into_value()).unwrap() + // TODO - This can be made more efficient if we also specialize get_typed + let wrapper: KeyValueEntrySubstate = v.into_typed().unwrap(); + wrapper.into_value() }) } @@ -1635,7 +1640,7 @@ where }; let v = self.api.kernel_read_substate(handle)?; - let mut kv_entry: KeyValueEntrySubstate = v.as_typed().unwrap(); + let mut kv_entry: KeyValueEntrySubstate = v.into_typed().unwrap(); kv_entry.lock(); let indexed = IndexedScryptoValue::from_typed(&kv_entry); self.api.kernel_write_substate(handle, indexed)?; @@ -1646,7 +1651,7 @@ where fn key_value_entry_remove( &mut self, handle: KeyValueEntryHandle, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { let data = self.api.kernel_get_lock_data(handle)?; if !data.is_kv_entry_with_write() { return Err(RuntimeError::SystemError( @@ -1654,19 +1659,15 @@ where )); } - let current_value = self + let mut kv_entry: KeyValueEntrySubstate = self .api .kernel_read_substate(handle) - .map(|v| v.as_slice().to_vec())?; + .map(|v| v.into_typed().unwrap())?; - let mut kv_entry: KeyValueEntrySubstate = - scrypto_decode(¤t_value).unwrap(); let value = kv_entry.remove(); self.kernel_write_substate(handle, IndexedScryptoValue::from_typed(&kv_entry))?; - let current_value = scrypto_encode(&value).unwrap(); - - Ok(current_value) + Ok(value) } // Costing through kernel @@ -1674,41 +1675,33 @@ where fn key_value_entry_set( &mut self, handle: KeyValueEntryHandle, - buffer: Vec, + value: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError> { let data = self.api.kernel_get_lock_data(handle)?; - match data { + let value = match data { SystemLockData::KeyValueEntry(KeyValueEntryLockData::KVCollectionWrite { collection_index, target, - }) => { - self.validate_blueprint_payload( - &target, - BlueprintPayloadIdentifier::KeyValueEntry(collection_index, KeyOrValue::Value), - &buffer, - )?; - } + }) => self.validate_blueprint_payload( + &target, + BlueprintPayloadIdentifier::KeyValueEntry(collection_index, KeyOrValue::Value), + value, + )?, SystemLockData::KeyValueEntry(KeyValueEntryLockData::KVStoreWrite { kv_store_validation_target, - }) => { - self.validate_kv_store_payload( - &kv_store_validation_target, - KeyOrValue::Value, - &buffer, - )?; - } + }) => self.validate_kv_store_payload( + &kv_store_validation_target, + KeyOrValue::Value, + value, + )?, _ => { return Err(RuntimeError::SystemError( SystemError::NotAKeyValueEntryWriteHandle, )); } - } - - let substate = - IndexedScryptoValue::from_slice(&buffer).expect("Should be valid due to payload check"); + }; - let value = substate.as_scrypto_value().clone(); let kv_entry = KeyValueEntrySubstate::unlocked_entry(value); let indexed = IndexedScryptoValue::from_typed(&kv_entry); @@ -1780,7 +1773,7 @@ where let schema_partition = additional_schemas .into_iter() .map(|(schema_hash, schema)| { - let key = SubstateKey::Map(scrypto_encode(&schema_hash).unwrap()); + let key = SubstateKey::Map(scrypto_encode_to_payload(&schema_hash).unwrap()); let substate = KeyValueEntrySubstate::locked_entry(schema); let value = IndexedScryptoValue::from_typed(&substate); (key, value) @@ -1818,7 +1811,7 @@ where fn key_value_store_open_entry( &mut self, node_id: &NodeId, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result { let type_info = TypeInfoBlueprint::get_type(&node_id, self.api)?; @@ -1837,7 +1830,7 @@ where meta: *node_id, }; - self.validate_kv_store_payload(&target, KeyOrValue::Key, &key)?; + let key = self.validate_kv_store_payload(&target, KeyOrValue::Key, key.as_value_ref())?; let lock_data = if flags.contains(LockFlags::MUTABLE) { SystemLockData::KeyValueEntry(KeyValueEntryLockData::KVStoreWrite { @@ -1850,7 +1843,7 @@ where let handle = self.api.kernel_open_substate_with_default( &node_id, MAIN_BASE_PARTITION, - &SubstateKey::Map(key.clone()), + &SubstateKey::Map(key.into_owned_payload()), flags, Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -1861,7 +1854,7 @@ where if flags.contains(LockFlags::MUTABLE) { let lock_status = self.api.kernel_read_substate(handle).map(|v| { - let kv_entry: KeyValueEntrySubstate = v.as_typed().unwrap(); + let kv_entry: KeyValueEntrySubstate = v.into_typed().unwrap(); kv_entry.lock_status() })?; @@ -1877,8 +1870,8 @@ where fn key_value_store_remove_entry( &mut self, node_id: &NodeId, - key: &Vec, - ) -> Result, RuntimeError> { + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError> { let handle = self.key_value_store_open_entry(node_id, key, LockFlags::MUTABLE)?; self.key_value_entry_remove_and_close_substate(handle) } @@ -1898,8 +1891,8 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - buffer: Vec, + key: ScryptoUnvalidatedRawValue, + value: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; @@ -1916,24 +1909,26 @@ where }, }; - self.validate_blueprint_payload( + let key = self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::IndexEntry(collection_index, KeyOrValue::Key), - &key, + key, )?; - self.validate_blueprint_payload( + let value = self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::IndexEntry(collection_index, KeyOrValue::Value), - &buffer, + value, )?; - - let value: ScryptoValue = scrypto_decode(&buffer).unwrap(); let index_entry = IndexEntrySubstate::entry(value); let value = IndexedScryptoValue::from_typed(&index_entry); - self.api - .kernel_set_substate(&node_id, partition_num, SubstateKey::Map(key), value) + self.api.kernel_set_substate( + &node_id, + partition_num, + SubstateKey::Map(key.into_owned_payload()), + value, + ) } // Costing through kernel @@ -1941,8 +1936,8 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - ) -> Result>, RuntimeError> { + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; let (node_id, _info, partition_num) = self.get_actor_collection_partition_info( @@ -1951,12 +1946,21 @@ where &BlueprintPartitionType::IndexCollection, )?; + // TODO: Add explicit validation. The index API can only be used by native blueprints, and + // this is only used for a read action, so it's not strictly related to the correct functioning + // of the system, but it would still be more correct for the system to check it + let key = key.confirm_validated(); + let rtn = self .api - .kernel_remove_substate(&node_id, partition_num, &SubstateKey::Map(key))? + .kernel_remove_substate( + &node_id, + partition_num, + &SubstateKey::Map(key.into_owned_payload()), + )? .map(|v| { - let value: IndexEntrySubstate = v.as_typed().unwrap(); - scrypto_encode(value.value()).unwrap() + let substate: IndexEntrySubstate = v.into_typed().unwrap(); + substate.into_value() }); Ok(rtn) @@ -1968,7 +1972,7 @@ where object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result>, RuntimeError> { + ) -> Result, RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; let (node_id, _info, partition_num) = self.get_actor_collection_partition_info( @@ -1981,7 +1985,7 @@ where .api .kernel_scan_keys::(&node_id, partition_num, limit)? .into_iter() - .map(|key| key.into_map()) + .map(|key| key.into_map().into_value()) .collect(); Ok(substates) @@ -1993,7 +1997,7 @@ where object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result, Vec)>, RuntimeError> { + ) -> Result, RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; let (node_id, _info, partition_num) = self.get_actor_collection_partition_info( @@ -2007,10 +2011,9 @@ where .kernel_drain_substates::(&node_id, partition_num, limit)? .into_iter() .map(|(key, value)| { - let value: IndexEntrySubstate = value.as_typed().unwrap(); - let value = scrypto_encode(value.value()).unwrap(); - - (key.into_map(), value) + let substate: IndexEntrySubstate = + value.into_typed().unwrap(); + (key.into_map().into_value(), substate.into_value()) }) .collect(); @@ -2033,8 +2036,8 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: SortedKey, - buffer: Vec, + sorted_key: UnvalidatedSortedKey, + value: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; @@ -2051,26 +2054,25 @@ where }, }; - self.validate_blueprint_payload( + let key_payload = self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::SortedIndexEntry(collection_index, KeyOrValue::Key), - &sorted_key.1, + sorted_key.1.into_value(), )?; - self.validate_blueprint_payload( + let value = self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::SortedIndexEntry(collection_index, KeyOrValue::Value), - &buffer, + value, )?; - let value: ScryptoValue = scrypto_decode(&buffer).unwrap(); let sorted_entry = SortedIndexEntrySubstate::entry(value); let value = IndexedScryptoValue::from_typed(&sorted_entry); self.api.kernel_set_substate( &node_id, partition_num, - SubstateKey::Sorted((sorted_key.0, sorted_key.1)), + SubstateKey::Sorted((sorted_key.0, key_payload.into_owned_payload())), value, ) } @@ -2081,8 +2083,8 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: &SortedKey, - ) -> Result>, RuntimeError> { + sorted_key: UnvalidatedSortedKey, + ) -> Result, RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; let (node_id, _info, partition_num) = self.get_actor_collection_partition_info( @@ -2091,16 +2093,21 @@ where &BlueprintPartitionType::SortedIndexCollection, )?; + // TODO: Add explicit validation. The index API can only be used by native blueprints, and + // this is only used for a read action, so it's not strictly related to the correct functioning + // of the system, but it would still be more correct for the system to check it + let key_payload = sorted_key.1.confirm_validated(); + let rtn = self .api .kernel_remove_substate( &node_id, partition_num, - &SubstateKey::Sorted((sorted_key.0, sorted_key.1.clone())), + &SubstateKey::Sorted((sorted_key.0, key_payload.into_owned())), )? .map(|v| { - let value: SortedIndexEntrySubstate = v.as_typed().unwrap(); - scrypto_encode(value.value()).unwrap() + let substate: SortedIndexEntrySubstate = v.into_typed().unwrap(); + substate.into_value() }); Ok(rtn) @@ -2113,7 +2120,7 @@ where object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result)>, RuntimeError> { + ) -> Result, RuntimeError> { let actor_object_type: ActorStateRef = object_handle.try_into()?; let (node_id, _info, partition_num) = self.get_actor_collection_partition_info( @@ -2127,10 +2134,9 @@ where .kernel_scan_sorted_substates(&node_id, partition_num, limit)? .into_iter() .map(|(key, value)| { - let value: SortedIndexEntrySubstate = value.as_typed().unwrap(); - let value = scrypto_encode(value.value()).unwrap(); - - (key, value) + let substate: SortedIndexEntrySubstate = + value.into_typed().unwrap(); + (key, substate.into_value()) }) .collect(); @@ -2155,7 +2161,7 @@ where function_name: &str, args: Vec, ) -> Result, RuntimeError> { - let args = IndexedScryptoValue::from_vec(args).map_err(|e| { + let args = IndexedScryptoValue::from_untrusted_payload_vec(args).map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::InputDecodeError(e)) })?; let blueprint_id = BlueprintId::new(&package_address, blueprint_name); @@ -2171,7 +2177,7 @@ where }), args, })) - .map(|v| v.into())?; + .map(|v| v.into_payload_bytes())?; SystemModuleMixer::on_call_function_finish(self, auth_zone)?; @@ -2265,7 +2271,7 @@ where let event_data = { let lock_fee_event = LockFeeEvent { amount }; - scrypto_encode(&lock_fee_event).unwrap() + scrypto_encode_to_payload(&lock_fee_event).unwrap() }; // If costing is enabled, reserve event and pay for the event up front for the call to lock_fee() @@ -2284,7 +2290,7 @@ where self.emit_event_internal( EmitterActor::CurrentActor, LockFeeEvent::EVENT_NAME.to_string(), - event_data, + event_data.into_unvalidated(), EventFlags::FORCE_WRITE, )?; } @@ -2315,7 +2321,7 @@ where let lock_fee_event = LockFeeEvent { amount: locked_fee.amount(), }; - let payload = scrypto_encode(&lock_fee_event).unwrap(); + let payload = scrypto_encode_to_payload(&lock_fee_event).unwrap(); let event = Event { type_identifier, @@ -2606,7 +2612,7 @@ where SystemLockData::Field(lock_data), )?, FieldTransience::TransientStatic { default_value } => { - let default_value: ScryptoValue = scrypto_decode(&default_value).unwrap(); + let default_value: ScryptoOwnedRawValue = scrypto_decode(&default_value).unwrap(); self.api.kernel_mark_substate_as_transient( node_id, partition_num, @@ -2629,7 +2635,7 @@ where if flags.contains(LockFlags::MUTABLE) { let lock_status = self.api.kernel_read_substate(handle).map(|v| { - let field: FieldSubstate = v.as_typed().unwrap(); + let field: FieldSubstate = v.into_typed().unwrap(); field.into_lock_status() })?; @@ -2648,7 +2654,7 @@ where fn actor_emit_event( &mut self, event_name: String, - event_data: Vec, + event_data: ScryptoUnvalidatedRawPayload, event_flags: EventFlags, ) -> Result<(), RuntimeError> { if event_flags.contains(EventFlags::FORCE_WRITE) { @@ -2687,7 +2693,7 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result { if flags.contains(LockFlags::UNMODIFIED_BASE) || flags.contains(LockFlags::FORCE_WRITE) { @@ -2709,10 +2715,10 @@ where }, }; - self.validate_blueprint_payload( + let key = self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::KeyValueEntry(collection_index, KeyOrValue::Key), - &key, + key, )?; let lock_data = if flags.contains(LockFlags::MUTABLE) { @@ -2727,7 +2733,7 @@ where let handle = self.api.kernel_open_substate_with_default( &node_id, partition_num, - &SubstateKey::Map(key.to_vec()), + &SubstateKey::Map(key.into_owned_payload()), flags, Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -2737,8 +2743,8 @@ where )?; if flags.contains(LockFlags::MUTABLE) { - let substate: KeyValueEntrySubstate = - self.api.kernel_read_substate(handle)?.as_typed().unwrap(); + let substate: KeyValueEntrySubstate = + self.api.kernel_read_substate(handle)?.into_typed().unwrap(); if substate.is_locked() { return Err(RuntimeError::SystemError(SystemError::KeyValueEntryLocked)); @@ -2753,8 +2759,8 @@ where &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, - ) -> Result, RuntimeError> { + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError> { let handle = self.actor_open_key_value_entry( object_handle, collection_index, @@ -2948,7 +2954,7 @@ where .kernel_mark_substate_as_transient(node_id, partition_num, key) } - fn kernel_open_substate_with_default IndexedScryptoValue>( + fn kernel_open_substate_with_default IndexedOwnedScryptoValue>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, @@ -2981,14 +2987,14 @@ where fn kernel_read_substate( &mut self, lock_handle: SubstateHandle, - ) -> Result<&IndexedScryptoValue, RuntimeError> { + ) -> Result<&IndexedOwnedScryptoValue, RuntimeError> { self.api.kernel_read_substate(lock_handle) } fn kernel_write_substate( &mut self, lock_handle: SubstateHandle, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { self.api.kernel_write_substate(lock_handle, value) } @@ -2998,7 +3004,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { self.api .kernel_set_substate(node_id, partition_num, substate_key, value) @@ -3009,7 +3015,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_remove_substate(node_id, partition_num, substate_key) } @@ -3019,7 +3025,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, limit: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_scan_sorted_substates(node_id, partition_num, limit) } @@ -3039,7 +3045,7 @@ where node_id: &NodeId, partition_num: PartitionNumber, limit: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_drain_substates::(node_id, partition_num, limit) } diff --git a/radix-engine/src/system/system_callback.rs b/radix-engine/src/system/system_callback.rs index a96b414ad26..289d5e95043 100644 --- a/radix-engine/src/system/system_callback.rs +++ b/radix-engine/src/system/system_callback.rs @@ -188,7 +188,7 @@ impl System { ) { Some(x) => { let substate: FieldSubstate = - x.as_typed().unwrap(); + x.into_typed().unwrap(); Some(substate.into_payload().into_unique_version().epoch) } None => None, @@ -228,7 +228,7 @@ impl System { &TransactionTrackerField::TransactionTracker.into(), ) .unwrap() - .as_typed() + .into_typed() .unwrap(); let partition_number = substate @@ -240,12 +240,13 @@ impl System { let substate = track.read_substate( TRANSACTION_TRACKER.as_node_id(), PartitionNumber(partition_number), - &SubstateKey::Map(scrypto_encode(&intent_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&intent_hash).unwrap()), ); match substate { Some(value) => { - let substate: KeyValueEntrySubstate = value.as_typed().unwrap(); + let substate: KeyValueEntrySubstate = + value.into_typed().unwrap(); match substate.into_value() { Some(status) => match status.into_v1() { TransactionStatusV1::CommittedSuccess @@ -316,9 +317,9 @@ impl System { ) -> ( FeeReserveFinalizationSummary, IndexMap, - Vec<(EventTypeIdentifier, Vec)>, + Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, ) { - let mut events = Vec::<(EventTypeIdentifier, Vec)>::new(); + let mut events = Vec::<(EventTypeIdentifier, ScryptoOwnedRawPayload)>::new(); // Distribute royalty for (recipient, amount) in fee_reserve.royalty_cost_breakdown().clone() { @@ -327,7 +328,7 @@ impl System { let mut vault_balance = track .read_substate(&node_id, MAIN_BASE_PARTITION, &substate_key) .unwrap() - .as_typed::() + .into_typed::() .unwrap() .into_payload() .into_unique_version(); @@ -349,7 +350,7 @@ impl System { Emitter::Method(node_id, ModuleId::Main), DepositEvent::EVENT_NAME.to_string(), ), - scrypto_encode(&DepositEvent { amount }).unwrap(), + scrypto_encode_to_payload(&DepositEvent { amount }).unwrap(), )); } @@ -386,7 +387,7 @@ impl System { &FungibleVaultField::Balance.into(), ) .unwrap() - .as_typed::() + .into_typed::() .unwrap() .into_payload() .into_unique_version(); @@ -413,7 +414,7 @@ impl System { Emitter::Method(vault_id, ModuleId::Main), PayFeeEvent::EVENT_NAME.to_string(), ), - scrypto_encode(&PayFeeEvent { amount }).unwrap(), + scrypto_encode_to_payload(&PayFeeEvent { amount }).unwrap(), )); } // Free credit is locked first and thus used last @@ -461,7 +462,7 @@ impl System { &ConsensusManagerField::State.into(), ) .unwrap() - .as_typed() + .into_typed() .unwrap(); let current_leader = substate.into_payload().into_unique_version().current_leader; @@ -473,7 +474,7 @@ impl System { &ConsensusManagerField::ValidatorRewards.into(), ) .unwrap() - .as_typed() + .into_typed() .unwrap(); let mut rewards = substate.into_payload().into_unique_version(); @@ -507,7 +508,7 @@ impl System { &FungibleVaultField::Balance.into(), ) .unwrap() - .as_typed::() + .into_typed::() .unwrap() .into_payload() .into_unique_version(); @@ -530,7 +531,7 @@ impl System { Emitter::Method(vault_node_id, ModuleId::Main), DepositEvent::EVENT_NAME.to_string(), ), - scrypto_encode(&DepositEvent { + scrypto_encode_to_payload(&DepositEvent { amount: total_amount, }) .unwrap(), @@ -543,7 +544,7 @@ impl System { Emitter::Method(XRD.into_node_id(), ModuleId::Main), "BurnFungibleResourceEvent".to_string(), ), - scrypto_encode(&BurnFungibleResourceEvent { amount: to_burn }).unwrap(), + scrypto_encode_to_payload(&BurnFungibleResourceEvent { amount: to_burn }).unwrap(), )); } @@ -564,7 +565,7 @@ impl System { &TransactionTrackerField::TransactionTracker.into(), ) .unwrap() - .as_typed::>() + .into_typed::>() .unwrap() .into_payload(); @@ -583,7 +584,7 @@ impl System { .set_substate( TRANSACTION_TRACKER.into_node_id(), PartitionNumber(partition_number), - SubstateKey::Map(scrypto_encode(intent_hash).unwrap()), + SubstateKey::Map(scrypto_encode_to_payload(intent_hash).unwrap()), IndexedScryptoValue::from_typed(&KeyValueEntrySubstate::V1( KeyValueEntrySubstateV1 { value: Some(if is_success { @@ -798,7 +799,7 @@ impl KernelCallbackObject for System { BOOT_LOADER_PARTITION, &SubstateKey::Field(BOOT_LOADER_SYSTEM_SUBSTATE_FIELD_KEY), ) - .map(|v| scrypto_decode(v.as_slice()).unwrap()) + .map(|v| v.into_typed().unwrap()) .unwrap_or(SystemBoot::V1(SystemParameters { network_definition: NetworkDefinition::mainnet(), costing_parameters: CostingParameters::babylon_genesis(), @@ -944,7 +945,7 @@ impl KernelCallbackObject for System { partition_number: TYPE_INFO_FIELD_PARTITION, substate_key: SubstateKey::Field(TypeInfoField::TypeInfo.field_index()), }, - ref_value.len(), + ref_value.payload_len(), ); let event = RefCheckEvent::IOAccess(&io_access); @@ -953,7 +954,7 @@ impl KernelCallbackObject for System { .map_err(|e| BootloadingError::FailedToApplyDeferredCosts(e))?; } - let type_substate: TypeInfoSubstate = ref_value.as_typed().unwrap(); + let type_substate: TypeInfoSubstate = ref_value.into_typed().unwrap(); return match &type_substate { TypeInfoSubstate::Object( info @ ObjectInfo { @@ -1417,7 +1418,7 @@ impl KernelCallbackObject for System { fn invoke_upstream( input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelApi>, { @@ -1438,7 +1439,7 @@ impl KernelCallbackObject for System { MAIN_BASE_PARTITION .at_offset(PACKAGE_BLUEPRINT_DEPENDENCIES_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&key).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -1468,7 +1469,7 @@ impl KernelCallbackObject for System { system.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::Function(ident.clone(), InputOrOutput::Input), - input.as_vec_ref(), + input.as_unvalidated(), )?; // Validate receiver type @@ -1508,7 +1509,7 @@ impl KernelCallbackObject for System { system.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::Function(ident.clone(), InputOrOutput::Output), - output.as_vec_ref(), + output.as_unvalidated(), )?; Ok(output) @@ -1542,14 +1543,10 @@ impl KernelCallbackObject for System { // Check output against well-known schema match hook { BlueprintHook::OnVirtualize => { - scrypto_decode::(output.as_slice()).map(|_| ()) - } - BlueprintHook::OnDrop => { - scrypto_decode::(output.as_slice()).map(|_| ()) - } - BlueprintHook::OnMove => { - scrypto_decode::(output.as_slice()).map(|_| ()) + output.into_typed::().map(|_| ()) } + BlueprintHook::OnDrop => output.into_typed::().map(|_| ()), + BlueprintHook::OnMove => output.into_typed::().map(|_| ()), } .map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::OutputDecodeError(e)) diff --git a/radix-engine/src/system/system_callback_api.rs b/radix-engine/src/system/system_callback_api.rs index 73852155b05..1e8fc0666ad 100644 --- a/radix-engine/src/system/system_callback_api.rs +++ b/radix-engine/src/system/system_callback_api.rs @@ -20,7 +20,7 @@ pub trait SystemCallbackObject: Sized { package_export: PackageExport, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi + KernelInternalApi> diff --git a/radix-engine/src/system/system_db_reader.rs b/radix-engine/src/system/system_db_reader.rs index 4e787f190b6..cda43a1feeb 100644 --- a/radix-engine/src/system/system_db_reader.rs +++ b/radix-engine/src/system/system_db_reader.rs @@ -1,40 +1,22 @@ use crate::internal_prelude::*; -use radix_common::data::scrypto::ScryptoDecode; -use radix_common::prelude::{ - scrypto_decode, scrypto_encode, ScryptoCustomExtension, ScryptoEncode, ScryptoValue, - VersionedScryptoSchema, -}; use radix_engine_interface::api::{AttachedModuleId, CollectionIndex, ModuleId}; use radix_engine_interface::blueprints::package::*; use radix_engine_interface::types::*; -use radix_substate_store_interface::db_key_mapper::{ - MappedCommittableSubstateDatabase, SubstateKeyContent, -}; -use radix_substate_store_interface::interface::{ - CommittableSubstateDatabase, DatabaseUpdate, ListableSubstateDatabase, -}; +use radix_substate_store_interface::db_key_mapper::*; +use radix_substate_store_interface::interface::*; use radix_substate_store_interface::{ db_key_mapper::{DatabaseKeyMapper, MappedSubstateDatabase, SpreadPrefixKeyMapper}, interface::SubstateDatabase, }; -use sbor::{validate_payload_against_schema, LocalTypeId, LocatedValidationError}; +use sbor::{LocalTypeId, LocatedValidationError}; use crate::blueprints::package::PackageBlueprintVersionDefinitionEntrySubstate; -use crate::internal_prelude::{IndexEntrySubstate, SortedIndexEntrySubstate}; use crate::system::payload_validation::{SchemaOrigin, TypeInfoForValidation, ValidationContext}; -use crate::system::system_substates::FieldSubstate; -use crate::system::system_substates::KeyValueEntrySubstate; -use crate::system::system_substates::LockStatus; -use crate::system::system_type_checker::{ - BlueprintTypeTarget, KVStoreTypeTarget, SchemaValidationMeta, -}; +use crate::system::system_substates::*; +use crate::system::system_type_checker::*; use crate::system::type_info::TypeInfoSubstate; -use crate::track::{ - BatchPartitionStateUpdate, NodeStateUpdates, PartitionStateUpdates, StateUpdates, -}; -use crate::transaction::{ - ObjectInstanceTypeReference, ObjectSubstateTypeReference, PackageTypeReference, -}; +use crate::track::*; +use crate::transaction::*; use radix_blueprint_schema_init::BlueprintCollectionSchema; #[derive(Clone, Debug)] @@ -153,7 +135,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { let mut blueprints = BTreeMap::new(); for (key, blueprint_definition) in entries { let bp_version_key: BlueprintVersionKey = match key { - SubstateKey::Map(v) => scrypto_decode(&v).unwrap(), + SubstateKey::Map(v) => v.decode_as().unwrap(), _ => panic!("Unexpected"), }; @@ -207,7 +189,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { PartitionDescription::Physical(partition_number) => *partition_number, }; - let substate: FieldSubstate = self + let substate: FieldSubstate = self .substate_db .get_mapped::( node_id, @@ -217,7 +199,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .ok_or_else(|| SystemReaderError::FieldDoesNotExist)?; Ok(( - IndexedScryptoValue::from_scrypto_value(substate.into_payload()), + IndexedScryptoValue::from_value(substate.into_payload()), partition_number, )) } @@ -232,7 +214,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .get_mapped::>( node_id, MAIN_BASE_PARTITION, - &SubstateKey::Map(scrypto_encode(key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(key).unwrap()), ); substate.and_then(|v| v.into_value()) } @@ -321,7 +303,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .get_mapped::>( node_id, partition_number, - &SubstateKey::Map(scrypto_encode(key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(key).unwrap()), ) .and_then(|value| value.into_value()), ObjectCollectionKey::Index(_, key) => self @@ -329,7 +311,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .get_mapped::>( node_id, partition_number, - &SubstateKey::Map(scrypto_encode(key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(key).unwrap()), ) .map(|value| value.into_value()), ObjectCollectionKey::SortedIndex(_, sort, key) => self @@ -337,7 +319,10 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .get_mapped::>( node_id, partition_number, - &SubstateKey::Sorted((sort.to_be_bytes(), scrypto_encode(key).unwrap())), + &SubstateKey::Sorted(( + sort.to_be_bytes(), + scrypto_encode_to_payload(key).unwrap(), + )), ) .map(|value| value.into_value()), }; @@ -349,7 +334,8 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { &self, node_id: &NodeId, from_key: Option<&MapKey>, - ) -> Result)> + '_>, SystemReaderError> { + ) -> Result + '_>, SystemReaderError> + { if self.state_updates.is_some() { panic!("substates_iter with overlay not supported."); } @@ -372,9 +358,9 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { SubstateKey::Map(map_key) => map_key, _ => panic!("Unexpected SubstateKey"), }; - let value: KeyValueEntrySubstate = scrypto_decode(&entry.1).unwrap(); - let value = value.into_value()?; - let value = scrypto_encode(&value).unwrap(); + let substate: KeyValueEntrySubstate = + scrypto_decode(&entry.1).unwrap(); + let value = substate.into_value()?; Some((key, value)) }); @@ -387,7 +373,8 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { node_id: &NodeId, module_id: ModuleId, collection_index: CollectionIndex, - ) -> Result)> + '_>, SystemReaderError> { + ) -> Result + '_>, SystemReaderError> + { self.collection_iter_advanced(node_id, module_id, collection_index, None) .map(|x| x.0) } @@ -400,7 +387,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { from_substate_key: Option<&SubstateKey>, ) -> Result< ( - Box)> + '_>, + Box + '_>, PartitionNumber, ), SystemReaderError, @@ -444,18 +431,22 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { } }; - let value = match schema { + let value_option = match schema { BlueprintCollectionSchema::KeyValueStore(..) => { - let value: KeyValueEntrySubstate = + let substate: KeyValueEntrySubstate = scrypto_decode(&entry.1).unwrap(); - let value = value.into_value()?; - scrypto_encode(&value).unwrap() + substate.into_value() } BlueprintCollectionSchema::SortedIndex(..) - | BlueprintCollectionSchema::Index(..) => entry.1, + | BlueprintCollectionSchema::Index(..) => Some( + ScryptoUnvalidatedRawValue::from_payload(entry.1) + .validate(0) + .unwrap(), + ), }; - Some((key, value)) + // Filter out values that don't exist + value_option.map(|value| (key, value)) }); Ok((Box::new(iter), partition_number)) @@ -538,7 +529,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { MAIN_BASE_PARTITION .at_offset(PACKAGE_BLUEPRINTS_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()), ).ok_or_else(|| SystemReaderError::BlueprintDoesNotExist)?.into_value().unwrap().fully_update_and_into_latest_version()); self.blueprint_cache @@ -816,7 +807,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .fetch_substate::>( node_id, SCHEMAS_PARTITION, - &SubstateKey::Map(scrypto_encode(schema_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(schema_hash).unwrap()), ) .ok_or_else(|| SystemReaderError::SchemaDoesNotExist)?.into_value() .expect("Schema should exist if substate exists")); @@ -863,7 +854,7 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { MAIN_BASE_PARTITION .at_offset(PACKAGE_BLUEPRINTS_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()), ) .ok_or_else(|| SystemReaderError::BlueprintDoesNotExist)?; @@ -873,12 +864,12 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { .fully_update_and_into_latest_version()) } - pub fn validate_payload<'b>( + pub fn validate_value<'v, 'b>( &'b self, - payload: &[u8], + payload: ScryptoUnvalidatedRawValue<'v>, payload_schema: &'b ResolvedPayloadSchema, depth_limit: usize, - ) -> Result<(), LocatedValidationError> { + ) -> Result, LocatedValidationError> { let validation_context: Box> = Box::new(ValidationPayloadCheckerContext { reader: self, @@ -887,12 +878,12 @@ impl<'a, S: SubstateDatabase + ?Sized> SystemDatabaseReader<'a, S> { allow_non_global_ref: payload_schema.allow_non_global_refs, }); - validate_payload_against_schema::( - payload, + payload.validate_against_type_with_max_depth( + 0, + depth_limit, payload_schema.schema.v1(), payload_schema.type_id, &validation_context, - depth_limit, ) } @@ -1109,7 +1100,7 @@ impl<'a, S: SubstateDatabase> SystemDatabaseReader<'a, S> { &self, node_id: &NodeId, partition_number: PartitionNumber, - ) -> Box)> + '_> { + ) -> Box + '_> { if self.state_updates.is_some() { panic!("substates_iter with overlay not supported."); } @@ -1117,7 +1108,8 @@ impl<'a, S: SubstateDatabase> SystemDatabaseReader<'a, S> { let partition_key = SpreadPrefixKeyMapper::to_db_partition_key(node_id, partition_number); let iter = self.substate_db.list_entries(&partition_key).map(|entry| { let substate_key = SpreadPrefixKeyMapper::from_db_sort_key::(&entry.0); - (substate_key, entry.1) + let value = ScryptoOwnedRawValue::from_valid_payload(entry.1); + (substate_key, value) }); Box::new(iter) diff --git a/radix-engine/src/system/system_modules/auth/auth_module.rs b/radix-engine/src/system/system_modules/auth/auth_module.rs index 2eb951e30e3..8002d40bd98 100644 --- a/radix-engine/src/system/system_modules/auth/auth_module.rs +++ b/radix-engine/src/system/system_modules/auth/auth_module.rs @@ -227,7 +227,7 @@ impl AuthModule { let auth_zone = system .kernel_read_substate(handle)? - .as_typed::>() + .into_typed::>() .unwrap(); Ok((auth_zone.into_payload().global_caller, Some(handle))) } @@ -377,7 +377,7 @@ impl AuthModule { )?; let mut auth_zone = api .kernel_read_substate(handle)? - .as_typed::>() + .into_typed::>() .unwrap() .into_payload(); let proofs = core::mem::replace(&mut auth_zone.proofs, Vec::new()); diff --git a/radix-engine/src/system/system_modules/auth/authorization.rs b/radix-engine/src/system/system_modules/auth/authorization.rs index a7147e71666..9998b3bcb13 100644 --- a/radix-engine/src/system/system_modules/auth/authorization.rs +++ b/radix-engine/src/system/system_modules/auth/authorization.rs @@ -69,7 +69,7 @@ impl Authorization { )?; let auth_zone = api .kernel_read_substate(handle)? - .as_typed::>() + .into_typed::>() .unwrap() .into_payload(); handles.push(handle); @@ -137,7 +137,7 @@ impl Authorization { let rtn = (|| -> Result { let auth_zone = api .kernel_read_substate(handle)? - .as_typed::>() + .into_typed::>() .unwrap() .into_payload(); @@ -340,7 +340,7 @@ impl Authorization { ROLE_ASSIGNMENT_BASE_PARTITION .at_offset(ROLE_ASSIGNMENT_ROLE_DEF_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&key).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&key).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -349,7 +349,7 @@ impl Authorization { L::default(), )?; let substate: KeyValueEntrySubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; match substate.into_value() { @@ -366,7 +366,7 @@ impl Authorization { )?; let owner_role_substate: FieldSubstate = - api.kernel_read_substate(handle)?.as_typed().unwrap(); + api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; owner_role_substate .into_payload() diff --git a/radix-engine/src/system/system_modules/costing/costing_entry.rs b/radix-engine/src/system/system_modules/costing/costing_entry.rs index 64e121e67ea..cef0803b9b7 100644 --- a/radix-engine/src/system/system_modules/costing/costing_entry.rs +++ b/radix-engine/src/system/system_modules/costing/costing_entry.rs @@ -408,7 +408,7 @@ pub mod owned { pub enum CreateNodeEventOwned { Start( NodeId, - BTreeMap>, + BTreeMap>, ), IOAccess(IOAccess), End(NodeId), @@ -421,7 +421,7 @@ pub mod owned { IOAccess(IOAccess), End( NodeId, - BTreeMap>, + BTreeMap>, ), } @@ -459,7 +459,7 @@ pub mod owned { pub enum ReadSubstateEventOwned { OnRead { handle: SubstateHandle, - value: (ScryptoValue,), + value: (ScryptoOwnedRawValue,), device: SubstateDevice, }, IOAccess(IOAccess), @@ -470,7 +470,7 @@ pub mod owned { pub enum WriteSubstateEventOwned { Start { handle: SubstateHandle, - value: (ScryptoValue,), + value: (ScryptoOwnedRawValue,), }, IOAccess(IOAccess), } @@ -484,7 +484,12 @@ pub mod owned { /// An owned model equivalent of [`SetSubstateEvent`]. #[derive(Debug, Clone, ScryptoSbor, PartialEq, Eq)] pub enum SetSubstateEventOwned { - Start(NodeId, PartitionNumber, SubstateKey, (ScryptoValue,)), + Start( + NodeId, + PartitionNumber, + SubstateKey, + (ScryptoOwnedRawValue,), + ), IOAccess(IOAccess), } @@ -641,7 +646,7 @@ pub mod owned { value .iter() .map(|(key, value)| { - (key.clone(), (value.as_scrypto_value().to_owned(),)) + (key.clone(), (value.value().ref_into_owned(),)) }) .collect(), ) @@ -669,7 +674,7 @@ pub mod owned { value .iter() .map(|(key, value)| { - (key.clone(), (value.as_scrypto_value().to_owned(),)) + (key.clone(), (value.value().ref_into_owned(),)) }) .collect(), ) @@ -733,7 +738,7 @@ pub mod owned { device, } => Self::OnRead { handle: *handle, - value: (value.as_scrypto_value().to_owned(),), + value: (value.value().ref_into_owned(),), device: *device, }, ReadSubstateEvent::IOAccess(item) => Self::IOAccess((*item).clone()), @@ -746,7 +751,7 @@ pub mod owned { match value { WriteSubstateEvent::Start { handle, value } => Self::Start { handle: *handle, - value: (value.as_scrypto_value().to_owned(),), + value: (value.value().ref_into_owned(),), }, WriteSubstateEvent::IOAccess(item) => Self::IOAccess((*item).clone()), } @@ -768,7 +773,7 @@ pub mod owned { **item1, **item2, (*item3).clone(), - (item4.as_scrypto_value().to_owned(),), + (item4.value().ref_into_owned(),), ), SetSubstateEvent::IOAccess(item) => Self::IOAccess((*item).clone()), } diff --git a/radix-engine/src/system/system_modules/costing/costing_module.rs b/radix-engine/src/system/system_modules/costing/costing_module.rs index 6dae65d823b..3a8ba6c7315 100644 --- a/radix-engine/src/system/system_modules/costing/costing_module.rs +++ b/radix-engine/src/system/system_modules/costing/costing_module.rs @@ -109,7 +109,7 @@ pub struct DetailedExecutionCostBreakdownEntry { pub enum ExecutionCostBreakdownItem { Invocation { actor: Actor, - args: (ScryptoValue,), + args: (ScryptoOwnedRawValue,), }, InvocationComplete, Execution { @@ -381,7 +381,7 @@ impl SystemModule> for CostingModule { depth, item: ExecutionCostBreakdownItem::Invocation { actor: invocation.call_frame_data.clone(), - args: (invocation.args.as_scrypto_value().to_owned(),), + args: (invocation.args.value().ref_into_owned(),), }, }); } @@ -493,7 +493,7 @@ impl SystemModule> for CostingModule { costing_module.current_depth = depth; costing_module .apply_execution_cost(ExecutionCostingEntry::AfterInvoke { - output_size: output.len(), + output_size: output.payload_len(), }) .map_err(|e| RuntimeError::SystemModuleError(SystemModuleError::CostingError(e)))?; diff --git a/radix-engine/src/system/system_modules/costing/fee_table.rs b/radix-engine/src/system/system_modules/costing/fee_table.rs index ba225f8e848..90fd021cf86 100644 --- a/radix-engine/src/system/system_modules/costing/fee_table.rs +++ b/radix-engine/src/system/system_modules/costing/fee_table.rs @@ -199,7 +199,7 @@ impl FeeTable { CreateNodeEvent::Start(_node_id, node_substates) => { let total_substate_size = node_substates .values() - .map(|x| x.values().map(|x| x.len()).sum::()) + .map(|x| x.values().map(|x| x.payload_len()).sum::()) .sum::(); add( 15510 / CPU_INSTRUCTIONS_TO_COST_UNIT, @@ -224,7 +224,7 @@ impl FeeTable { DropNodeEvent::End(_node_id, node_substates) => { let total_substate_size = node_substates .values() - .map(|x| x.values().map(|x| x.len()).sum::()) + .map(|x| x.values().map(|x| x.payload_len()).sum::()) .sum::(); add( 38883 / CPU_INSTRUCTIONS_TO_COST_UNIT, @@ -267,7 +267,7 @@ impl FeeTable { add( base_cost / CPU_INSTRUCTIONS_TO_COST_UNIT, - Self::data_processing_cost(value.len()), + Self::data_processing_cost(value.payload_len()), ) } ReadSubstateEvent::IOAccess(io_access) => self.io_access_cost(io_access), @@ -280,7 +280,7 @@ impl FeeTable { WriteSubstateEvent::IOAccess(io_access) => self.io_access_cost(io_access), WriteSubstateEvent::Start { value, .. } => add( 7441 / CPU_INSTRUCTIONS_TO_COST_UNIT, - Self::data_processing_cost(value.len()), + Self::data_processing_cost(value.payload_len()), ), } } @@ -297,7 +297,7 @@ impl FeeTable { match event { SetSubstateEvent::Start(.., value) => add( 4530 / CPU_INSTRUCTIONS_TO_COST_UNIT, - Self::data_processing_cost(value.len()), + Self::data_processing_cost(value.payload_len()), ), SetSubstateEvent::IOAccess(io_access) => self.io_access_cost(io_access), } diff --git a/radix-engine/src/system/system_modules/execution_trace/module.rs b/radix-engine/src/system/system_modules/execution_trace/module.rs index 2be7839dd55..910312aa4f3 100644 --- a/radix-engine/src/system/system_modules/execution_trace/module.rs +++ b/radix-engine/src/system/system_modules/execution_trace/module.rs @@ -700,7 +700,7 @@ impl ExecutionTraceModule { args: &IndexedScryptoValue, ) { let actor = TraceActor::from_actor(caller); - let FungibleVaultLockFeeInput { amount, contingent } = args.as_typed().unwrap(); + let FungibleVaultLockFeeInput { amount, contingent } = args.into_typed().unwrap(); self.vault_ops.push(( actor, vault_id.clone(), diff --git a/radix-engine/src/system/system_modules/kernel_trace/module.rs b/radix-engine/src/system/system_modules/kernel_trace/module.rs index 00bc9fcabe8..c6c20ce1b30 100644 --- a/radix-engine/src/system/system_modules/kernel_trace/module.rs +++ b/radix-engine/src/system/system_modules/kernel_trace/module.rs @@ -64,7 +64,7 @@ impl SystemModule> for KernelTraceModule { api: &mut Y, output: &IndexedScryptoValue, ) -> Result<(), RuntimeError> { - log!(api, "Exiting: output size = {}", output.len()); + log!(api, "Exiting: output size = {}", output.payload_len()); Ok(()) } @@ -173,7 +173,7 @@ impl SystemModule> for KernelTraceModule { api, "Reading substate: handle = {}, size = {}, device = {:?}", handle, - value.len(), + value.payload_len(), device ); } @@ -193,7 +193,7 @@ impl SystemModule> for KernelTraceModule { api, "Writing substate: handle = {}, size = {}", handle, - value.len() + value.payload_len() ); } _ => {} diff --git a/radix-engine/src/system/system_modules/limits/module.rs b/radix-engine/src/system/system_modules/limits/module.rs index e8f13311782..f68ae5cc28a 100644 --- a/radix-engine/src/system/system_modules/limits/module.rs +++ b/radix-engine/src/system/system_modules/limits/module.rs @@ -110,10 +110,10 @@ impl LimitsModule { } pub fn process_substate_value(&self, value: &IndexedScryptoValue) -> Result<(), RuntimeError> { - if value.len() > self.config.max_substate_value_size { + if value.payload_len() > self.config.max_substate_value_size { return Err(RuntimeError::SystemModuleError( SystemModuleError::TransactionLimitsError( - TransactionLimitsError::MaxSubstateSizeExceeded(value.len()), + TransactionLimitsError::MaxSubstateSizeExceeded(value.payload_len()), ), )); } diff --git a/radix-engine/src/system/system_modules/transaction_runtime/module.rs b/radix-engine/src/system/system_modules/transaction_runtime/module.rs index aba58a9946c..3d13c68e3e8 100644 --- a/radix-engine/src/system/system_modules/transaction_runtime/module.rs +++ b/radix-engine/src/system/system_modules/transaction_runtime/module.rs @@ -8,7 +8,7 @@ use radix_engine_interface::api::ModuleId; #[derive(Debug, Clone)] pub struct Event { pub type_identifier: EventTypeIdentifier, - pub payload: Vec, + pub payload: ScryptoOwnedRawPayload, pub flags: EventFlags, } @@ -68,7 +68,10 @@ impl TransactionRuntimeModule { pub fn finalize( self, is_success: bool, - ) -> (Vec<(EventTypeIdentifier, Vec)>, Vec<(Level, String)>) { + ) -> ( + Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, + Vec<(Level, String)>, + ) { let mut results = Vec::new(); for Event { diff --git a/radix-engine/src/system/system_type_checker.rs b/radix-engine/src/system/system_type_checker.rs index 03b266dc9db..c7948250f2d 100644 --- a/radix-engine/src/system/system_type_checker.rs +++ b/radix-engine/src/system/system_type_checker.rs @@ -8,7 +8,6 @@ use crate::system::system_callback_api::SystemCallbackObject; use crate::system::system_substates::{FieldSubstate, KeyValueEntrySubstate, LockStatus}; use crate::track::interface::NodeSubstates; use radix_blueprint_schema_init::KeyValueStoreGenericSubstitutions; -use radix_engine_interface::api::field_api::LockFlags; use radix_engine_interface::api::{CollectionIndex, FieldValue, KVEntry}; use radix_engine_interface::blueprints::package::*; use sbor::rust::vec::Vec; @@ -230,43 +229,44 @@ where } /// Validate that a blueprint payload matches the blueprint's definition of that payload - pub fn validate_blueprint_payload( + pub fn validate_blueprint_payload<'v>( &mut self, target: &BlueprintTypeTarget, payload_identifier: BlueprintPayloadIdentifier, - payload: &[u8], - ) -> Result<(), RuntimeError> { + payload: ScryptoUnvalidatedRawValue<'v>, + ) -> Result, RuntimeError> { let (schema, index, allow_ownership, allow_non_global_ref, schema_origin) = self.get_payload_schema(target, &payload_identifier)?; self.validate_payload( - payload, + payload.into(), &schema, index, schema_origin, allow_ownership, allow_non_global_ref, BLUEPRINT_PAYLOAD_MAX_DEPTH, - ) - .map_err(|err| { - RuntimeError::SystemError(SystemError::TypeCheckError( + |err| { TypeCheckError::BlueprintPayloadValidationError( Box::new(target.blueprint_info.clone()), payload_identifier, - err.error_message(schema.v1()), - ), - )) - })?; - - Ok(()) + err, + ) + }, + ) } /// Validate that a blueprint kv collection payloads match the blueprint's definition - pub fn validate_blueprint_kv_collection( + pub fn validate_blueprint_kv_collection<'x>( &mut self, target: &BlueprintTypeTarget, collection_index: CollectionIndex, - payloads: &[(&Vec, &Vec)], + payloads: impl IntoIterator< + Item = ( + ScryptoUnvalidatedRawValue<'x>, + ScryptoUnvalidatedRawValue<'x>, + ), + >, ) -> Result { let blueprint_definition = self.get_blueprint_default_definition(target.blueprint_info.blueprint_id.clone())?; @@ -286,7 +286,7 @@ where })? .0; - for (key, value) in payloads { + for (key, value) in payloads.into_iter() { self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::KeyValueEntry(collection_index, KeyOrValue::Key), @@ -304,12 +304,12 @@ where } /// Validate that a key value payload matches the key value store's definition of that payload - pub fn validate_kv_store_payload( + pub fn validate_kv_store_payload<'b, 'v>( &mut self, target: &KVStoreTypeTarget, payload_identifier: KeyOrValue, - payload: &[u8], - ) -> Result<(), RuntimeError> { + payload: ScryptoUnvalidatedRawValue<'v>, + ) -> Result, RuntimeError> { let type_substitution = match payload_identifier { KeyOrValue::Key => target.kv_store_type.key_generic_substitution.clone(), KeyOrValue::Value => target.kv_store_type.value_generic_substitution.clone(), @@ -337,29 +337,21 @@ where allow_ownership, false, KEY_VALUE_STORE_PAYLOAD_MAX_DEPTH, + |err| TypeCheckError::KeyValueStorePayloadValidationError(payload_identifier, err), ) - .map_err(|err| { - RuntimeError::SystemError(SystemError::TypeCheckError( - TypeCheckError::KeyValueStorePayloadValidationError( - payload_identifier, - err.error_message(schema.v1()), - ), - )) - })?; - - Ok(()) } - fn validate_payload<'s>( + fn validate_payload<'s, 'v>( &mut self, - payload: &[u8], + payload: ScryptoUnvalidatedRawValue<'v>, schema: &'s VersionedScryptoSchema, type_id: LocalTypeId, schema_origin: SchemaOrigin, allow_ownership: bool, allow_non_global_ref: bool, depth_limit: usize, - ) -> Result<(), LocatedValidationError<'s, ScryptoCustomExtension>> { + error_map: impl FnOnce(String) -> TypeCheckError, + ) -> Result, RuntimeError> { let validation_context: Box> = Box::new(SystemServiceTypeInfoLookup::new( self, @@ -367,13 +359,20 @@ where allow_ownership, allow_non_global_ref, )); - validate_payload_against_schema::( - payload, - schema.v1(), - type_id, - &validation_context, - depth_limit, - ) + + payload + .validate_against_type_with_max_depth( + 0, + depth_limit, + schema.v1(), + type_id, + &validation_context, + ) + .map_err(|err| { + RuntimeError::SystemError(SystemError::TypeCheckError(error_map( + err.error_message(schema.v1()), + ))) + }) } fn get_schema( @@ -394,7 +393,7 @@ where let handle = self.api.kernel_open_substate_with_default( node_id, SCHEMAS_PARTITION, - &SubstateKey::Map(scrypto_encode(schema_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(schema_hash).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -404,7 +403,7 @@ where )?; let substate: KeyValueEntrySubstate = - self.api.kernel_read_substate(handle)?.as_typed().unwrap(); + self.api.kernel_read_substate(handle)?.into_typed().unwrap(); self.api.kernel_close_substate(handle)?; let schema = Rc::new(substate.into_value().unwrap()); @@ -472,7 +471,7 @@ impl SystemMapper { FieldTransience::NotTransient => {} } - let payload: ScryptoValue = + let payload: ScryptoRawValue = scrypto_decode(&field.value).expect("Checked by payload-schema validation"); let lock_status = if field.locked { @@ -503,7 +502,7 @@ impl SystemMapper { for (key, kv_entry) in substates { let kv_entry = if let Some(value) = kv_entry.value { - let value: ScryptoValue = scrypto_decode(&value).unwrap(); + let value: ScryptoRawValue = scrypto_decode(&value).unwrap(); let kv_entry = if kv_entry.locked { KeyValueEntrySubstate::locked_entry(value) } else { @@ -518,6 +517,9 @@ impl SystemMapper { } }; + let key = ScryptoUnvalidatedRawPayload::from_payload(key) + .validate() + .expect("Checked by payload-schema validation"); let value = IndexedScryptoValue::from_typed(&kv_entry); partition.insert(SubstateKey::Map(key), value); } diff --git a/radix-engine/src/system/type_info.rs b/radix-engine/src/system/type_info.rs index 52945bbc9d1..e0dcce24891 100644 --- a/radix-engine/src/system/type_info.rs +++ b/radix-engine/src/system/type_info.rs @@ -46,7 +46,7 @@ impl TypeInfoBlueprint { LockFlags::read_only(), L::default(), )?; - let info: TypeInfoSubstate = api.kernel_read_substate(handle)?.as_typed().unwrap(); + let info: TypeInfoSubstate = api.kernel_read_substate(handle)?.into_typed().unwrap(); api.kernel_close_substate(handle)?; Ok(info) } diff --git a/radix-engine/src/track/interface.rs b/radix-engine/src/track/interface.rs index 162b0c33083..347f3179fad 100644 --- a/radix-engine/src/track/interface.rs +++ b/radix-engine/src/track/interface.rs @@ -27,7 +27,7 @@ impl CallbackError { } } -pub type NodeSubstates = BTreeMap>; +pub type NodeSubstates = BTreeMap>; pub enum TrackedSubstateInfo { New, @@ -88,7 +88,7 @@ pub trait CommitableSubstateStore { node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Option<&IndexedScryptoValue> { + ) -> Option<&IndexedOwnedScryptoValue> { self.get_substate(node_id, partition_num, substate_key, &mut |_| -> Result< (), (), @@ -104,7 +104,7 @@ pub trait CommitableSubstateStore { partition_num: PartitionNumber, substate_key: &SubstateKey, on_io_access: &mut F, - ) -> Result, E>; + ) -> Result, E>; /// Inserts a substate into the substate store. /// @@ -115,7 +115,7 @@ pub trait CommitableSubstateStore { node_id: NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - substate_value: IndexedScryptoValue, + substate_value: IndexedOwnedScryptoValue, on_io_access: &mut F, ) -> Result<(), E>; @@ -139,7 +139,7 @@ pub trait CommitableSubstateStore { partition_num: PartitionNumber, substate_key: &SubstateKey, on_io_access: &mut F, - ) -> Result, E>; + ) -> Result, E>; /// Returns Substate Keys of maximum count for a given partition. /// @@ -171,7 +171,7 @@ pub trait CommitableSubstateStore { partition_num: PartitionNumber, count: u32, on_io_access: &mut F, - ) -> Result, E>; + ) -> Result, E>; /// Returns tuple of substate vector and boolean which is true for the first database access. fn scan_sorted_substates Result<(), E>>( @@ -180,7 +180,7 @@ pub trait CommitableSubstateStore { partition_num: PartitionNumber, count: u32, on_io_access: &mut F, - ) -> Result, E>; + ) -> Result, E>; /// Note: unstable interface, for intent transaction tracker only fn delete_partition(&mut self, node_id: &NodeId, partition_num: PartitionNumber); diff --git a/radix-engine/src/track/state_updates.rs b/radix-engine/src/track/state_updates.rs index 783b9468ad4..6f14c982298 100644 --- a/radix-engine/src/track/state_updates.rs +++ b/radix-engine/src/track/state_updates.rs @@ -262,11 +262,11 @@ impl BatchPartitionStateUpdate { #[derive(Clone, Debug)] pub struct RuntimeSubstate { - pub value: IndexedScryptoValue, + pub value: IndexedOwnedScryptoValue, } impl RuntimeSubstate { - pub fn new(value: IndexedScryptoValue) -> Self { + pub fn new(value: IndexedOwnedScryptoValue) -> Self { Self { value } } } @@ -284,7 +284,7 @@ pub enum Write { } impl Write { - pub fn into_value(self) -> Option { + pub fn into_value(self) -> Option { match self { Write::Update(substate) => Some(substate.value), Write::Delete => None, @@ -303,7 +303,7 @@ pub struct TrackedSubstate { pub enum TrackedSubstateValue { New(RuntimeSubstate), ReadOnly(ReadOnly), - ReadExistAndWrite(IndexedScryptoValue, Write), + ReadExistAndWrite(IndexedOwnedScryptoValue, Write), ReadNonExistAndWrite(RuntimeSubstate), WriteOnly(Write), Garbage, @@ -319,21 +319,21 @@ impl TrackedSubstate { impl TrackedSubstateValue { pub fn size(&self) -> usize { match self { - TrackedSubstateValue::New(x) => x.value.len(), + TrackedSubstateValue::New(x) => x.value.payload_len(), TrackedSubstateValue::ReadOnly(r) => match r { ReadOnly::NonExistent => 0, - ReadOnly::Existent(x) => x.value.len(), + ReadOnly::Existent(x) => x.value.payload_len(), }, TrackedSubstateValue::ReadExistAndWrite(e, w) => { - e.len() + e.payload_len() + match w { - Write::Update(x) => x.value.len(), + Write::Update(x) => x.value.payload_len(), Write::Delete => 0, } } - TrackedSubstateValue::ReadNonExistAndWrite(x) => x.value.len(), + TrackedSubstateValue::ReadNonExistAndWrite(x) => x.value.payload_len(), TrackedSubstateValue::WriteOnly(w) => match w { - Write::Update(x) => x.value.len(), + Write::Update(x) => x.value.payload_len(), Write::Delete => 0, }, TrackedSubstateValue::Garbage => 0, @@ -355,7 +355,7 @@ impl TrackedSubstateValue { } } - pub fn get(&self) -> Option<&IndexedScryptoValue> { + pub fn get(&self) -> Option<&IndexedOwnedScryptoValue> { match self { TrackedSubstateValue::New(substate) | TrackedSubstateValue::WriteOnly(Write::Update(substate)) @@ -369,7 +369,7 @@ impl TrackedSubstateValue { } } - pub fn set(&mut self, value: IndexedScryptoValue) { + pub fn set(&mut self, value: IndexedOwnedScryptoValue) { match self { TrackedSubstateValue::Garbage => { *self = TrackedSubstateValue::WriteOnly(Write::Update(RuntimeSubstate::new(value))); @@ -399,7 +399,7 @@ impl TrackedSubstateValue { }; } - pub fn take(&mut self) -> Option { + pub fn take(&mut self) -> Option { match self { TrackedSubstateValue::Garbage => None, TrackedSubstateValue::New(..) => { @@ -445,7 +445,7 @@ impl TrackedSubstateValue { } } - pub fn into_value(self) -> Option { + pub fn into_value(self) -> Option { match self { TrackedSubstateValue::New(substate) | TrackedSubstateValue::WriteOnly(Write::Update(substate)) @@ -531,12 +531,14 @@ pub fn to_state_updates( TrackedSubstateValue::ReadOnly(..) | TrackedSubstateValue::Garbage => None, TrackedSubstateValue::ReadNonExistAndWrite(substate) | TrackedSubstateValue::New(substate) => { - Some(DatabaseUpdate::Set(substate.value.into())) + Some(DatabaseUpdate::Set(substate.value.into_payload_bytes())) } TrackedSubstateValue::ReadExistAndWrite(_, write) | TrackedSubstateValue::WriteOnly(write) => match write { Write::Delete => Some(DatabaseUpdate::Delete), - Write::Update(substate) => Some(DatabaseUpdate::Set(substate.value.into())), + Write::Update(substate) => { + Some(DatabaseUpdate::Set(substate.value.into_payload_bytes())) + } }, }; if let Some(update) = update { @@ -557,15 +559,17 @@ pub fn to_state_updates( } pub struct IterationCountedIter<'a, E> { - pub iter: - Box> + 'a>, + pub iter: Box< + dyn Iterator> + 'a, + >, pub num_iterations: u32, } impl<'a, E> IterationCountedIter<'a, E> { pub fn new( iter: Box< - dyn Iterator> + 'a, + dyn Iterator> + + 'a, >, ) -> Self { Self { @@ -576,7 +580,7 @@ impl<'a, E> IterationCountedIter<'a, E> { } impl<'a, E> Iterator for IterationCountedIter<'a, E> { - type Item = Result<(DbSortKey, (SubstateKey, IndexedScryptoValue)), E>; + type Item = Result<(DbSortKey, (SubstateKey, IndexedOwnedScryptoValue)), E>; fn next(&mut self) -> Option { self.num_iterations = self.num_iterations + 1; diff --git a/radix-engine/src/track/track.rs b/radix-engine/src/track/track.rs index ca14e451992..7ac624e186b 100644 --- a/radix-engine/src/track/track.rs +++ b/radix-engine/src/track/track.rs @@ -50,7 +50,10 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> BootStore for Trac self.substate_db .get_substate(&db_partition_key, &db_sort_key) - .map(|e| IndexedScryptoValue::from_vec(e).expect("Failed to decode substate")) + .map(|e| { + IndexedScryptoValue::from_untrusted_payload_vec(e) + .expect("Failed to decode substate") + }) } } @@ -81,12 +84,15 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> Track<'s, S, M> { sort_key: &DbSortKey, on_io_access: &mut F, canonical_substate_key: CanonicalSubstateKey, - ) -> Result, E> { - let result = substate_db - .get_substate(partition_key, sort_key) - .map(|e| IndexedScryptoValue::from_vec(e).expect("Failed to decode substate")); + ) -> Result, E> { + let result = substate_db.get_substate(partition_key, sort_key).map(|e| { + IndexedScryptoValue::from_untrusted_payload_vec(e).expect("Failed to decode substate") + }); if let Some(x) = &result { - on_io_access(IOAccess::ReadFromDb(canonical_substate_key, x.len()))?; + on_io_access(IOAccess::ReadFromDb( + canonical_substate_key, + x.payload_len(), + ))?; } else { on_io_access(IOAccess::ReadFromDbNotFound(canonical_substate_key))?; } @@ -104,8 +110,9 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> Track<'s, S, M> { partition_key: &DbPartitionKey, on_io_access: &'x mut F, canonical_partition: CanonicalPartition, - ) -> Box> + 'x> - { + ) -> Box< + dyn Iterator> + 'x, + > { struct TracedIterator< 'a, E, @@ -129,7 +136,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> Track<'s, S, M> { K: SubstateKeyContent + 'static, > Iterator for TracedIterator<'a, E, F, M, K> { - type Item = Result<(DbSortKey, (SubstateKey, IndexedScryptoValue)), E>; + type Item = Result<(DbSortKey, (SubstateKey, IndexedOwnedScryptoValue)), E>; fn next(&mut self) -> Option { if self.errored_out { @@ -139,11 +146,11 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> Track<'s, S, M> { let result = self.iterator.next(); if let Some(x) = result { let substate_key = M::from_db_sort_key::(&x.0); - let substate_value = - IndexedScryptoValue::from_vec(x.1).expect("Failed to decode substate"); + let substate_value = IndexedScryptoValue::from_untrusted_payload_vec(x.1) + .expect("Failed to decode substate"); let io_access = IOAccess::ReadFromDb( CanonicalSubstateKey::of(self.canonical_partition, substate_key.clone()), - substate_value.len(), + substate_value.payload_len(), ); let result = (self.on_io_access)(io_access); match result { @@ -430,7 +437,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate partition_num: PartitionNumber, substate_key: &SubstateKey, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { // Load the substate from state track let tracked = self.get_tracked_substate(node_id, partition_num, substate_key.clone(), on_io_access)?; @@ -445,7 +452,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate node_id: NodeId, partition_number: PartitionNumber, substate_key: SubstateKey, - substate_value: IndexedScryptoValue, + substate_value: IndexedOwnedScryptoValue, on_io_access: &mut F, ) -> Result<(), E> { let tracked_partition = self @@ -545,7 +552,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate partition_number: PartitionNumber, substate_key: &SubstateKey, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { let tracked = self.get_tracked_substate( node_id, partition_number, @@ -650,7 +657,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate partition_number: PartitionNumber, limit: u32, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { let limit: usize = limit.try_into().unwrap(); let mut items = Vec::new(); @@ -777,7 +784,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate partition_number: PartitionNumber, limit: u32, on_io_access: &mut F, - ) -> Result, E> { + ) -> Result, E> { // TODO: ensure we abort if any substates are write locked. let limit: usize = limit.try_into().unwrap(); @@ -794,7 +801,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate // initialize the "from db" iterator: use `dyn`, since we want to skip it altogether if the node is marked as `is_new` in our track let mut db_values_count = 0u32; let raw_db_entries: Box< - dyn Iterator>, + dyn Iterator>, > = if tracked_node.is_new { Box::new(empty()) // optimization: avoid touching the database altogether } else { @@ -881,7 +888,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate TrackedSubstateValue::New(v) => { store_commit.push(StoreCommit::Insert { canonical_substate_key, - size: v.value.len(), + size: v.value.payload_len(), }); } TrackedSubstateValue::ReadOnly(_) => { @@ -891,21 +898,21 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate Write::Update(x) => { store_commit.push(StoreCommit::Update { canonical_substate_key, - size: x.value.len(), - old_size: old_value.len(), + size: x.value.payload_len(), + old_size: old_value.payload_len(), }); } Write::Delete => { store_commit.push(StoreCommit::Delete { canonical_substate_key, - old_size: old_value.len(), + old_size: old_value.payload_len(), }); } }, TrackedSubstateValue::ReadNonExistAndWrite(value) => { store_commit.push(StoreCommit::Insert { canonical_substate_key, - size: value.value.len(), + size: value.value.payload_len(), }); } TrackedSubstateValue::WriteOnly(write) => { @@ -921,7 +928,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate (Some(old_size), Write::Update(x)) => { store_commit.push(StoreCommit::Update { canonical_substate_key, - size: x.value.len(), + size: x.value.payload_len(), old_size, }); } @@ -934,7 +941,7 @@ impl<'s, S: SubstateDatabase, M: DatabaseKeyMapper + 'static> CommitableSubstate (None, Write::Update(x)) => { store_commit.push(StoreCommit::Insert { canonical_substate_key, - size: x.value.len(), + size: x.value.payload_len(), }); } (None, Write::Delete) => { diff --git a/radix-engine/src/transaction/state_update_summary.rs b/radix-engine/src/transaction/state_update_summary.rs index c036f477898..784809b3ecd 100644 --- a/radix-engine/src/transaction/state_update_summary.rs +++ b/radix-engine/src/transaction/state_update_summary.rs @@ -233,7 +233,7 @@ impl<'a, S: SubstateDatabase> BalanceAccounter<'a, S> { PartitionStateUpdates::Delta { by_substate } => { for (substate_key, substate_update) in by_substate { let id: NonFungibleLocalId = - scrypto_decode(substate_key.for_map().unwrap()).unwrap(); + substate_key.for_map().unwrap().decode_as().unwrap(); let previous_value = self .system_reader .fetch_substate_from_database::( diff --git a/radix-engine/src/transaction/system_structure.rs b/radix-engine/src/transaction/system_structure.rs index 58038c72209..3df4af82d5d 100644 --- a/radix-engine/src/transaction/system_structure.rs +++ b/radix-engine/src/transaction/system_structure.rs @@ -108,7 +108,7 @@ impl SystemStructure { pub fn resolve( substate_db: &S, state_updates: &StateUpdates, - application_events: &Vec<(EventTypeIdentifier, Vec)>, + application_events: &Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, ) -> Self { let mut substate_schema_mapper = SubstateSchemaMapper::new( SystemDatabaseReader::new_with_overlay(substate_db, state_updates), @@ -384,14 +384,14 @@ impl<'a, S: SubstateDatabase> SubstateSchemaMapper<'a, S> { /// from a substate. pub struct EventSchemaMapper<'a, S: SubstateDatabase> { system_reader: SystemDatabaseReader<'a, S>, - application_events: &'a Vec<(EventTypeIdentifier, Vec)>, + application_events: &'a Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, } impl<'a, S: SubstateDatabase> EventSchemaMapper<'a, S> { pub fn new( substate_db: &'a S, state_updates: &'a StateUpdates, - application_events: &'a Vec<(EventTypeIdentifier, Vec)>, + application_events: &'a Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, ) -> Self { Self { system_reader: SystemDatabaseReader::new_with_overlay(substate_db, state_updates), diff --git a/radix-engine/src/transaction/transaction_executor.rs b/radix-engine/src/transaction/transaction_executor.rs index 8e244ac1a10..5a7a6909edf 100644 --- a/radix-engine/src/transaction/transaction_executor.rs +++ b/radix-engine/src/transaction/transaction_executor.rs @@ -279,7 +279,7 @@ impl<'a, S: SubstateDatabase> BootStore for SubstateBootStore<'a, S> { let db_sort_key = SpreadPrefixKeyMapper::to_db_sort_key(&substate_key); self.boot_store .get_substate(&db_partition_key, &db_sort_key) - .map(|v| IndexedScryptoValue::from_vec(v.to_vec()).unwrap()) + .map(|v| IndexedScryptoValue::from_untrusted_payload_vec(v.to_vec()).unwrap()) } } diff --git a/radix-engine/src/transaction/transaction_receipt.rs b/radix-engine/src/transaction/transaction_receipt.rs index 1d4433daf02..54cc55572ca 100644 --- a/radix-engine/src/transaction/transaction_receipt.rs +++ b/radix-engine/src/transaction/transaction_receipt.rs @@ -266,7 +266,7 @@ pub struct CommitResult { /// Transaction execution outcome pub outcome: TransactionOutcome, /// Events emitted - pub application_events: Vec<(EventTypeIdentifier, Vec)>, + pub application_events: Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, /// Logs emitted pub application_logs: Vec<(Level, String)>, /// Additional annotation on substates and events @@ -394,7 +394,7 @@ impl CommitResult { }; if is_consensus_manager { - if let Ok(epoch_change_event) = scrypto_decode::(&event_data) { + if let Ok(epoch_change_event) = event_data.decode_as() { return Some(epoch_change_event); } } @@ -476,6 +476,8 @@ impl CommitResult { updates } + /// Note - there is a better display of these on the receipt, which uses the schemas + /// to display clear details pub fn state_updates_string(&self) -> String { let mut buffer = String::new(); for (node_id, x) in &self.state_updates() { @@ -488,11 +490,11 @@ impl CommitResult { match substate_key { SubstateKey::Field(x) => format!("Field: {}", x), SubstateKey::Map(x) => - format!("Map: {:?}", scrypto_decode::(&x).unwrap()), + format!("Map: {:?}", x.decode_as::().unwrap()), SubstateKey::Sorted(x) => format!( "Sorted: {:?}, {:?}", x.0, - scrypto_decode::(&x.1).unwrap() + x.1.decode_as::().unwrap() ), }, )); @@ -769,6 +771,7 @@ pub struct TransactionReceiptDisplayContext<'a> { pub system_database_reader: Option>, pub display_state_updates: bool, pub use_ansi_colors: bool, + pub max_substate_length_to_display: usize, } impl<'a> Default for TransactionReceiptDisplayContext<'a> { @@ -778,6 +781,7 @@ impl<'a> Default for TransactionReceiptDisplayContext<'a> { system_database_reader: None, display_state_updates: true, use_ansi_colors: true, + max_substate_length_to_display: 1024, } } } @@ -793,6 +797,10 @@ impl<'a> TransactionReceiptDisplayContext<'a> { } } + pub fn max_substate_length_to_display(&self) -> usize { + self.max_substate_length_to_display + } + pub fn lookup_schema>( &self, full_type_id: &FullyScopedTypeId, @@ -940,6 +948,11 @@ impl<'a> TransactionReceiptDisplayContextBuilder<'a> { self } + pub fn set_max_substate_length_to_display(mut self, setting: usize) -> Self { + self.0.max_substate_length_to_display = setting; + self + } + pub fn build(self) -> TransactionReceiptDisplayContext<'a> { self.0 } @@ -1028,95 +1041,7 @@ impl<'a> ContextualDisplay> for Transaction } if context.display_state_updates { - // The state updates are bizarrely full of lots of partitions with empty updates, - // so we remove them to avoid polluting the output. - let state_updates = c.state_updates.rebuild_without_empty_entries(); - context.format_top_level_title_with_detail( - f, - "State Updates", - format!( - "{} {}", - state_updates.by_node.len(), - if state_updates.by_node.len() == 1 { - "entity" - } else { - "entities" - }, - ), - )?; - for (i, (node_id, node_updates)) in state_updates.by_node.iter().enumerate() { - let by_partition = match node_updates { - NodeStateUpdates::Delta { by_partition } => by_partition, - }; - write!( - f, - "\n{} {} across {} partitions", - prefix!(i, c.state_updates.by_node), - node_id.display(address_display_context), - by_partition.len(), - )?; - - for (j, (partition_number, partition_updates)) in - by_partition.iter().enumerate() - { - // NOTE: This could be improved by mapping partition numbers back to a system-focused name - // This would require either adding partition descriptions into SystemStructure, or - // having some inverse entity-type specific descriptors. - match partition_updates { - PartitionStateUpdates::Delta { by_substate } => { - write!( - f, - "\n {} Partition({}): {} {}", - prefix!(j, by_partition), - partition_number.0, - by_substate.len(), - if by_substate.len() == 1 { - "change" - } else { - "changes" - }, - )?; - for (k, (substate_key, update)) in by_substate.iter().enumerate() { - display_substate_change( - f, - prefix!(k, by_substate), - &c.system_structure, - context, - node_id, - partition_number, - substate_key, - update.as_change(), - )?; - } - } - PartitionStateUpdates::Batch(BatchPartitionStateUpdate::Reset { - new_substate_values, - }) => { - write!( - f, - "\n {} Partition({}): RESET ({} new values)", - prefix!(j, by_partition), - partition_number.0, - new_substate_values.len() - )?; - for (k, (substate_key, value)) in - new_substate_values.iter().enumerate() - { - display_substate_change( - f, - prefix!(k, new_substate_values), - &c.system_structure, - context, - node_id, - partition_number, - substate_key, - SubstateChange::Upsert(value), - )?; - } - } - } - } - } + (&c.state_updates, &c.system_structure).contextual_format(f, context)?; } if let TransactionOutcome::Success(outputs) = &c.outcome { @@ -1127,18 +1052,19 @@ impl<'a> ContextualDisplay> for Transaction "\n{} {}", prefix!(i, outputs), match output { - InstructionOutput::CallReturn(x) => IndexedScryptoValue::from_slice(&x) - .expect("Impossible case! Instruction output can't be decoded") - .to_string(ValueDisplayParameters::Schemaless { - display_mode: DisplayMode::RustLike, - print_mode: PrintMode::MultiLine { - indent_size: 2, - base_indent: 3, - first_line_indent: 0 - }, - custom_context: scrypto_value_display_context, - depth_limit: SCRYPTO_SBOR_V1_MAX_DEPTH - }), + InstructionOutput::CallReturn(x) => + IndexedScryptoValue::from_untrusted_payload_slice(&x) + .expect("Impossible case! Instruction output can't be decoded") + .to_string(ValueDisplayParameters::Schemaless { + display_mode: DisplayMode::RustLike, + print_mode: PrintMode::MultiLine { + indent_size: 2, + base_indent: 3, + first_line_indent: 0 + }, + custom_context: scrypto_value_display_context, + depth_limit: SCRYPTO_SBOR_V1_MAX_DEPTH + }), InstructionOutput::None => "None".to_string(), } )?; @@ -1206,6 +1132,106 @@ impl<'a> ContextualDisplay> for Transaction } } +impl<'a, 'b> ContextualDisplay> + for (&'b StateUpdates, &'b SystemStructure) +{ + type Error = fmt::Error; + + fn contextual_format( + &self, + f: &mut F, + context: &TransactionReceiptDisplayContext<'a>, + ) -> Result<(), Self::Error> { + // The state updates are bizarrely full of lots of partitions with empty updates, + // so we remove them to avoid polluting the output. + let state_updates = self.0.rebuild_without_empty_entries(); + let system_structure = self.1; + context.format_top_level_title_with_detail( + f, + "State Updates", + format!( + "{} {}", + state_updates.by_node.len(), + if state_updates.by_node.len() == 1 { + "entity" + } else { + "entities" + }, + ), + )?; + for (i, (node_id, node_updates)) in state_updates.by_node.iter().enumerate() { + let by_partition = match node_updates { + NodeStateUpdates::Delta { by_partition } => by_partition, + }; + write!( + f, + "\n{} {} across {} partitions", + prefix!(i, state_updates.by_node), + node_id.display(context.address_display_context()), + by_partition.len(), + )?; + + for (j, (partition_number, partition_updates)) in by_partition.iter().enumerate() { + // NOTE: This could be improved by mapping partition numbers back to a system-focused name + // This would require either adding partition descriptions into SystemStructure, or + // having some inverse entity-type specific descriptors. + match partition_updates { + PartitionStateUpdates::Delta { by_substate } => { + write!( + f, + "\n {} Partition({}): {} {}", + prefix!(j, by_partition), + partition_number.0, + by_substate.len(), + if by_substate.len() == 1 { + "change" + } else { + "changes" + }, + )?; + for (k, (substate_key, update)) in by_substate.iter().enumerate() { + display_substate_change( + f, + prefix!(k, by_substate), + system_structure, + context, + node_id, + partition_number, + substate_key, + update.as_change(), + )?; + } + } + PartitionStateUpdates::Batch(BatchPartitionStateUpdate::Reset { + new_substate_values, + }) => { + write!( + f, + "\n {} Partition({}): RESET ({} new values)", + prefix!(j, by_partition), + partition_number.0, + new_substate_values.len() + )?; + for (k, (substate_key, value)) in new_substate_values.iter().enumerate() { + display_substate_change( + f, + prefix!(k, new_substate_values), + system_structure, + context, + node_id, + partition_number, + substate_key, + SubstateChange::Upsert(value), + )?; + } + } + } + } + } + Ok(()) + } +} + fn display_substate_change<'a, F: fmt::Write>( f: &mut F, prefix: &str, @@ -1227,19 +1253,24 @@ fn display_substate_change<'a, F: fmt::Write>( match change { SubstateChange::Upsert(substate_value) => { write!(f, "\n {prefix} Set: ")?; - format_substate_key(f, substate_structure, receipt_context, substate_key)?; + format_receipt_substate_key(f, substate_structure, receipt_context, substate_key)?; write!(f, "\n Value: ")?; - format_substate_value(f, substate_structure, receipt_context, substate_value)?; + format_receipt_substate_value( + f, + substate_structure, + receipt_context, + substate_value, + )?; } SubstateChange::Delete => { write!(f, "\n {prefix} Delete: ")?; - format_substate_key(f, substate_structure, receipt_context, substate_key)?; + format_receipt_substate_key(f, substate_structure, receipt_context, substate_key)?; } } Ok(()) } -fn format_substate_key<'a, F: fmt::Write>( +fn format_receipt_substate_key<'a, F: fmt::Write>( f: &mut F, substate_structure: &SubstateSystemStructure, receipt_context: &TransactionReceiptDisplayContext<'a>, @@ -1252,15 +1283,14 @@ fn format_substate_key<'a, F: fmt::Write>( } SubstateSystemStructure::SystemSchema => { let key_contents = substate_key.for_map().unwrap(); - let hash = scrypto_decode::(&*key_contents).unwrap(); + let hash: SchemaHash = key_contents.decode_as().unwrap(); write!(f, "SchemaHash({})", hash.0) } SubstateSystemStructure::KeyValueStoreEntry(structure) => { - let value = scrypto_decode(substate_key.for_map().unwrap()).unwrap(); format_scrypto_value_with_full_type_id( f, print_mode, - value, + substate_key.for_map().unwrap().as_value(), receipt_context, &structure.key_full_type_id, ) @@ -1270,36 +1300,33 @@ fn format_substate_key<'a, F: fmt::Write>( write!(f, "Field({})", key_contents) } SubstateSystemStructure::ObjectKeyValuePartitionEntry(structure) => { - let value = scrypto_decode(substate_key.for_map().unwrap()).unwrap(); let full_type_id = extract_object_type_id(&structure.key_schema); format_scrypto_value_with_full_type_id( f, print_mode, - value, + substate_key.for_map().unwrap().as_value(), receipt_context, &full_type_id, ) } SubstateSystemStructure::ObjectIndexPartitionEntry(structure) => { - let value = scrypto_decode(substate_key.for_map().unwrap()).unwrap(); let full_type_id = extract_object_type_id(&structure.key_schema); format_scrypto_value_with_full_type_id( f, print_mode, - value, + substate_key.for_map().unwrap().as_value(), receipt_context, &full_type_id, ) } SubstateSystemStructure::ObjectSortedIndexPartitionEntry(structure) => { let (sort_bytes, key_contents) = substate_key.for_sorted().unwrap(); - let value = scrypto_decode(key_contents).unwrap(); let full_type_id = extract_object_type_id(&structure.key_schema); write!(f, "SortKey({}, ", u16::from_be_bytes(sort_bytes.clone()))?; format_scrypto_value_with_full_type_id( f, print_mode, - value, + key_contents.as_value(), receipt_context, &full_type_id, )?; @@ -1308,7 +1335,7 @@ fn format_substate_key<'a, F: fmt::Write>( } } -fn format_substate_value<'a, F: fmt::Write>( +pub fn format_receipt_substate_value<'a, F: fmt::Write>( f: &mut F, substate_structure: &SubstateSystemStructure, receipt_context: &TransactionReceiptDisplayContext<'a>, @@ -1319,10 +1346,11 @@ fn format_substate_value<'a, F: fmt::Write>( base_indent: 7, first_line_indent: 0, }; - if substate_value.len() > 1024 { + if substate_value.len() > receipt_context.max_substate_length_to_display() { write!( f, - "(Hidden as longer than 1024 bytes. Hash: {})", + "(Hidden as longer than {} bytes. Hash: {})", + receipt_context.max_substate_length_to_display(), hash(substate_value) ) } else { @@ -1368,13 +1396,13 @@ fn format_substate_value<'a, F: fmt::Write>( } SubstateSystemStructure::KeyValueStoreEntry(structure) => { let payload = - scrypto_decode::>(substate_value) + scrypto_decode::>(substate_value) .unwrap(); (payload.into_value(), structure.value_full_type_id.clone()) } SubstateSystemStructure::ObjectField(structure) => { let payload = - scrypto_decode::>(substate_value).unwrap(); + scrypto_decode::>(substate_value).unwrap(); write_lock_status(f, payload.lock_status())?; ( Some(payload.into_payload()), @@ -1383,7 +1411,7 @@ fn format_substate_value<'a, F: fmt::Write>( } SubstateSystemStructure::ObjectKeyValuePartitionEntry(structure) => { let payload = - scrypto_decode::>(substate_value) + scrypto_decode::>(substate_value) .unwrap(); write_lock_status(f, payload.lock_status())?; ( @@ -1393,7 +1421,7 @@ fn format_substate_value<'a, F: fmt::Write>( } SubstateSystemStructure::ObjectIndexPartitionEntry(structure) => { let payload = - scrypto_decode::>(substate_value).unwrap(); + scrypto_decode::>(substate_value).unwrap(); ( Some(payload.into_value()), extract_object_type_id(&structure.value_schema), @@ -1401,7 +1429,7 @@ fn format_substate_value<'a, F: fmt::Write>( } SubstateSystemStructure::ObjectSortedIndexPartitionEntry(structure) => { let payload = - scrypto_decode::>(substate_value) + scrypto_decode::>(substate_value) .unwrap(); ( Some(payload.into_value()), @@ -1441,7 +1469,7 @@ fn display_event<'a, F: fmt::Write>( prefix: &str, event_type_identifier: &EventTypeIdentifier, system_structure: &SystemStructure, - event_data: &Vec, + event_data: &ScryptoRawPayload, receipt_context: &TransactionReceiptDisplayContext<'a>, ) -> Result<(), fmt::Error> { let event_system_structure = system_structure @@ -1457,7 +1485,6 @@ fn display_event<'a, F: fmt::Write>( base_indent: 3, first_line_indent: 0, }; - let raw_value = scrypto_decode::(event_data).unwrap(); if let Some(_) = schema_lookup { write!( f, @@ -1468,7 +1495,7 @@ fn display_event<'a, F: fmt::Write>( format_scrypto_value_with_full_type_id( f, print_mode, - raw_value, + event_data.as_value(), receipt_context, &full_type_id, )?; @@ -1483,7 +1510,7 @@ fn display_event<'a, F: fmt::Write>( format_scrypto_value_with_full_type_id( f, print_mode, - raw_value, + event_data.as_value(), receipt_context, &full_type_id, )?; diff --git a/radix-engine/src/transaction/transaction_reconciler.rs b/radix-engine/src/transaction/transaction_reconciler.rs index dd6dec15eb8..d347b7bc9b6 100644 --- a/radix-engine/src/transaction/transaction_reconciler.rs +++ b/radix-engine/src/transaction/transaction_reconciler.rs @@ -4,7 +4,7 @@ use crate::blueprints::resource::{ }; use crate::system::system_db_reader::SystemDatabaseReader; use crate::transaction::{BalanceChange, StateUpdateSummary}; -use radix_common::prelude::scrypto_decode; +use radix_common::prelude::*; use radix_common::traits::ScryptoEvent; use radix_common::types::ResourceAddress; use radix_engine_interface::api::ObjectModuleId; @@ -18,7 +18,7 @@ use sbor::rust::vec::Vec; pub fn reconcile_resource_state_and_events<'a, S: SubstateDatabase>( summary: &StateUpdateSummary, - events: &Vec<(EventTypeIdentifier, Vec)>, + events: &Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, system_db: SystemDatabaseReader<'a, S>, ) { let mut resource_changes_from_state = compute_resource_changes_from_state(summary); @@ -59,7 +59,7 @@ fn compute_resource_changes_from_state( } fn compute_resource_changes_from_resman_events( - events: &Vec<(EventTypeIdentifier, Vec)>, + events: &Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, ) -> IndexMap { let mut resource_changes_from_resman_events: IndexMap = indexmap!(); @@ -73,11 +73,11 @@ fn compute_resource_changes_from_resman_events( let change = match event_id.1.as_str() { MintFungibleResourceEvent::EVENT_NAME => { - let mint: MintFungibleResourceEvent = scrypto_decode(event).unwrap(); + let mint: MintFungibleResourceEvent = event.decode_as().unwrap(); BalanceChange::Fungible(mint.amount) } BurnFungibleResourceEvent::EVENT_NAME => { - let burn: BurnFungibleResourceEvent = scrypto_decode(event).unwrap(); + let burn: BurnFungibleResourceEvent = event.decode_as().unwrap(); BalanceChange::Fungible(burn.amount.neg()) } _ => continue, @@ -93,14 +93,14 @@ fn compute_resource_changes_from_resman_events( let change = match event_id.1.as_str() { MintNonFungibleResourceEvent::EVENT_NAME => { - let mint: MintNonFungibleResourceEvent = scrypto_decode(event).unwrap(); + let mint: MintNonFungibleResourceEvent = event.decode_as().unwrap(); BalanceChange::NonFungible { added: mint.ids.into_iter().collect(), removed: btreeset!(), } } BurnNonFungibleResourceEvent::EVENT_NAME => { - let burn: BurnNonFungibleResourceEvent = scrypto_decode(event).unwrap(); + let burn: BurnNonFungibleResourceEvent = event.decode_as().unwrap(); BalanceChange::NonFungible { added: btreeset!(), removed: burn.ids.into_iter().collect(), @@ -126,7 +126,7 @@ fn compute_resource_changes_from_resman_events( } fn compute_resource_changes_from_vault_events<'a, S: SubstateDatabase>( - events: &Vec<(EventTypeIdentifier, Vec)>, + events: &Vec<(EventTypeIdentifier, ScryptoOwnedRawPayload)>, system_db: &SystemDatabaseReader<'a, S>, ) -> IndexMap { let mut resource_changes_from_vault_events: IndexMap = @@ -146,20 +146,19 @@ fn compute_resource_changes_from_vault_events<'a, S: SubstateDatabase>( let change = match event_id.1.as_str() { fungible_vault::DepositEvent::EVENT_NAME => { - let deposit: fungible_vault::DepositEvent = scrypto_decode(event).unwrap(); + let deposit: fungible_vault::DepositEvent = event.decode_as().unwrap(); BalanceChange::Fungible(deposit.amount) } fungible_vault::WithdrawEvent::EVENT_NAME => { - let withdraw: fungible_vault::WithdrawEvent = - scrypto_decode(event).unwrap(); + let withdraw: fungible_vault::WithdrawEvent = event.decode_as().unwrap(); BalanceChange::Fungible(withdraw.amount.neg()) } fungible_vault::RecallEvent::EVENT_NAME => { - let recall: fungible_vault::RecallEvent = scrypto_decode(event).unwrap(); + let recall: fungible_vault::RecallEvent = event.decode_as().unwrap(); BalanceChange::Fungible(recall.amount.neg()) } fungible_vault::PayFeeEvent::EVENT_NAME => { - let recall: fungible_vault::PayFeeEvent = scrypto_decode(event).unwrap(); + let recall: fungible_vault::PayFeeEvent = event.decode_as().unwrap(); BalanceChange::Fungible(recall.amount.neg()) } _ => continue, @@ -180,8 +179,7 @@ fn compute_resource_changes_from_vault_events<'a, S: SubstateDatabase>( let change = match event_id.1.as_str() { non_fungible_vault::DepositEvent::EVENT_NAME => { - let deposit: non_fungible_vault::DepositEvent = - scrypto_decode(event).unwrap(); + let deposit: non_fungible_vault::DepositEvent = event.decode_as().unwrap(); BalanceChange::NonFungible { added: deposit.ids.into_iter().collect(), removed: btreeset!(), @@ -189,15 +187,14 @@ fn compute_resource_changes_from_vault_events<'a, S: SubstateDatabase>( } non_fungible_vault::WithdrawEvent::EVENT_NAME => { let withdraw: non_fungible_vault::WithdrawEvent = - scrypto_decode(event).unwrap(); + event.decode_as().unwrap(); BalanceChange::NonFungible { added: btreeset!(), removed: withdraw.ids.into_iter().collect(), } } non_fungible_vault::RecallEvent::EVENT_NAME => { - let recall: non_fungible_vault::RecallEvent = - scrypto_decode(event).unwrap(); + let recall: non_fungible_vault::RecallEvent = event.decode_as().unwrap(); BalanceChange::NonFungible { added: btreeset!(), removed: recall.ids.into_iter().collect(), diff --git a/radix-engine/src/updates/anemone.rs b/radix-engine/src/updates/anemone.rs index af7e9bcf19f..33500c57550 100644 --- a/radix-engine/src/updates/anemone.rs +++ b/radix-engine/src/updates/anemone.rs @@ -301,24 +301,24 @@ fn generate_seconds_precision_timestamp_state_updates PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()) => DatabaseUpdate::Set( + SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()) => DatabaseUpdate::Set( updated_bp_definition_substate ) } }, code_vm_type_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) + SubstateKey::Map(scrypto_encode_to_payload(&code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) } }, code_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) + SubstateKey::Map(scrypto_encode_to_payload(&code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) } }, schema_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&new_schema_hash).unwrap()) => DatabaseUpdate::Set(new_schema_substate) + SubstateKey::Map(scrypto_encode_to_payload(&new_schema_hash).unwrap()) => DatabaseUpdate::Set(new_schema_substate) } } } @@ -458,27 +458,27 @@ fn generate_pool_math_precision_fix_state_updates( by_partition: indexmap! { original_code_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(scrypto_encode(&new_code_substate).unwrap()), } }, code_vm_type_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(scrypto_encode(&new_vm_type_substate).unwrap()), } }, blueprint_definition_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&one_resource_pool_blueprint_key).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&one_resource_pool_blueprint_key).unwrap()) => DatabaseUpdate::Set(scrypto_encode(&one_resource_pool_blueprint_definition).unwrap()), - SubstateKey::Map(scrypto_encode(&two_resource_pool_blueprint_key).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&two_resource_pool_blueprint_key).unwrap()) => DatabaseUpdate::Set(scrypto_encode(&two_resource_pool_blueprint_definition).unwrap()), - SubstateKey::Map(scrypto_encode(&multi_resource_pool_blueprint_key).unwrap()) + SubstateKey::Map(scrypto_encode_to_payload(&multi_resource_pool_blueprint_key).unwrap()) => DatabaseUpdate::Set(scrypto_encode(&multi_resource_pool_blueprint_definition).unwrap()), } } diff --git a/radix-engine/src/updates/bottlenose.rs b/radix-engine/src/updates/bottlenose.rs index 5088459393e..6e32b6c5920 100644 --- a/radix-engine/src/updates/bottlenose.rs +++ b/radix-engine/src/updates/bottlenose.rs @@ -196,6 +196,15 @@ macro_rules! scrypto_encode { }; } +/// A quick macro for encoding and unwrapping. +macro_rules! payload_encode { + ( + $expr: expr + ) => { + ::radix_common::prelude::scrypto_encode_to_payload($expr).unwrap() + }; +} + fn generate_owner_role_getter_state_updates(db: &S) -> StateUpdates { let reader = SystemDatabaseReader::new(db); let node_id = ROLE_ASSIGNMENT_MODULE_PACKAGE.into_node_id(); @@ -297,28 +306,28 @@ fn generate_owner_role_getter_state_updates(db: &S by_partition: indexmap! { blueprint_version_definition_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( scrypto_encode!(&blueprint_definition_substate) ) } }, code_vm_type_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&code_hash)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&code_hash)) => DatabaseUpdate::Set( scrypto_encode!(&vm_type_substate) ) } }, code_original_code_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&code_hash)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&code_hash)) => DatabaseUpdate::Set( scrypto_encode!(&code_substate) ) } }, schema_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&schema_hash)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&schema_hash)) => DatabaseUpdate::Set( scrypto_encode!(&schema_substate) ) } @@ -368,7 +377,7 @@ fn generate_locker_package_state_updates() -> StateUpdates { by_substate: substates .into_iter() .map(|(key, value)| { - (key, DatabaseUpdate::Set(value.as_vec_ref().clone())) + (key, DatabaseUpdate::Set(value.into_payload_bytes())) }) .collect(), }, @@ -461,21 +470,21 @@ fn generate_account_bottlenose_extension_state_updates PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( scrypto_encode!(&blueprint_definition_substate) ) } }, code_vm_type_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&code_hash)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&code_hash)) => DatabaseUpdate::Set( scrypto_encode!(&vm_type_substate) ) } }, code_original_code_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&code_hash)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&code_hash)) => DatabaseUpdate::Set( scrypto_encode!(&code_substate) ) } @@ -698,39 +707,39 @@ fn generate_access_controller_state_updates(db: &S by_partition: indexmap! { blueprint_definition_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( scrypto_encode!(&blueprint_definition_substate) ) } }, blueprint_auth_configs => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( + SubstateKey::Map(payload_encode!(&blueprint_version_key)) => DatabaseUpdate::Set( scrypto_encode!(&new_blueprint_auth_config) ) } }, original_code_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&old_code_hash)) + SubstateKey::Map(payload_encode!(&old_code_hash)) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode!(&new_code_hash)) + SubstateKey::Map(payload_encode!(&new_code_hash)) => DatabaseUpdate::Set(scrypto_encode!(&new_code_substate)), } }, code_vm_type_partition_number => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&old_code_hash)) + SubstateKey::Map(payload_encode!(&old_code_hash)) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode!(&new_code_hash)) + SubstateKey::Map(payload_encode!(&new_code_hash)) => DatabaseUpdate::Set(scrypto_encode!(&new_vm_type_substate)), } }, schema_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode!(&old_schema_hash)) + SubstateKey::Map(payload_encode!(&old_schema_hash)) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode!(&new_schema_hash)) + SubstateKey::Map(payload_encode!(&new_schema_hash)) => DatabaseUpdate::Set(scrypto_encode!(&new_schema_substate)) } } @@ -828,21 +837,21 @@ fn generate_restrict_reserved_role_key_state_updates PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()) => DatabaseUpdate::Set( + SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()) => DatabaseUpdate::Set( updated_bp_definition_substate ) } }, vm_type_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) } }, original_code_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) } }, } @@ -944,21 +953,21 @@ fn generate_transaction_processor_blob_limits_state_updates PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&bp_version_key).unwrap()) => DatabaseUpdate::Set( + SubstateKey::Map(scrypto_encode_to_payload(&bp_version_key).unwrap()) => DatabaseUpdate::Set( updated_bp_definition_substate ) } }, vm_type_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_vm_type_substate) } }, original_code_partition_num => PartitionStateUpdates::Delta { by_substate: indexmap! { - SubstateKey::Map(scrypto_encode(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, - SubstateKey::Map(scrypto_encode(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) + SubstateKey::Map(scrypto_encode_to_payload(&old_code_hash).unwrap()) => DatabaseUpdate::Delete, + SubstateKey::Map(scrypto_encode_to_payload(&new_code_hash).unwrap()) => DatabaseUpdate::Set(new_code_substate) } }, } diff --git a/radix-engine/src/utils/macros.rs b/radix-engine/src/utils/macros.rs index 24d4f71a766..fceccf7b332 100644 --- a/radix-engine/src/utils/macros.rs +++ b/radix-engine/src/utils/macros.rs @@ -66,7 +66,7 @@ macro_rules! dispatch { match $export_name { $( [< $blueprint_ident:snake:upper _ $function_ident:snake:upper _ $export_name_const_suffix >] => { - let input: [< $blueprint_ident:camel $function_ident:camel Input >] = $input.as_typed().map_err(|e| { + let input: [< $blueprint_ident:camel $function_ident:camel Input >] = $input.into_typed().map_err(|e| { RuntimeError::ApplicationError(ApplicationError::InputDecodeError(e)) })?; let rtn: [< $blueprint_ident:camel $function_ident:camel Output >] = Self::$function_ident(input, $api)?; diff --git a/radix-engine/src/utils/native_blueprint_call_validator.rs b/radix-engine/src/utils/native_blueprint_call_validator.rs index 3e03de9e43b..47702ba038f 100644 --- a/radix-engine/src/utils/native_blueprint_call_validator.rs +++ b/radix-engine/src/utils/native_blueprint_call_validator.rs @@ -85,20 +85,16 @@ pub fn validate_call_arguments_to_native_components( })?; if let Some((TypeRef::Static(local_type_id), schema)) = schema { - validate_payload_against_schema::( - &manifest_encode(&args).unwrap(), - schema, - local_type_id, - &(), - MANIFEST_SBOR_V1_MAX_DEPTH, - ) - .map_err(|error| LocatedInstructionSchemaValidationError { - instruction_index: index, - cause: InstructionSchemaValidationError::SchemaValidationError(format!( - "{:?}", - error - )), - }) + manifest_encode_to_payload(&args) + .unwrap() + .validate_against_type(schema, local_type_id, &()) + .map_err(|error| LocatedInstructionSchemaValidationError { + instruction_index: index, + cause: InstructionSchemaValidationError::SchemaValidationError(format!( + "{:?}", + error + )), + }) } else { Ok(()) }?; diff --git a/radix-engine/src/vm/native_vm.rs b/radix-engine/src/vm/native_vm.rs index d20f188bc8d..da8e9bab16b 100644 --- a/radix-engine/src/vm/native_vm.rs +++ b/radix-engine/src/vm/native_vm.rs @@ -99,7 +99,7 @@ impl VmInvoke for NativeVmInstance { input: &IndexedScryptoValue, api: &mut Y, vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, @@ -114,7 +114,7 @@ impl VmInvoke for NativeVmInstance { api.consume_cost_units(ClientCostingEntry::RunNativeCode { package_address: package_address, export_name: export_name, - input_size: input.len(), + input_size: input.payload_len(), })?; let code_id = NativeCodeId::from_repr(*native_package_code_id).ok_or( @@ -235,7 +235,7 @@ impl VmInvoke for NativeVmInstance { Err(RuntimeError::VmError(VmError::Native( NativeRuntimeError::Trap { export_name: export_name.to_owned(), - input: input.as_scrypto_value().clone(), + input: input.as_value().into_owned(), error: message, }, ))) @@ -282,7 +282,7 @@ impl VmInvoke for NullVmInvoke { _input: &IndexedScryptoValue, _api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi, diff --git a/radix-engine/src/vm/scrypto_vm.rs b/radix-engine/src/vm/scrypto_vm.rs index c0d18af37ee..8f6b76b8d22 100644 --- a/radix-engine/src/vm/scrypto_vm.rs +++ b/radix-engine/src/vm/scrypto_vm.rs @@ -49,7 +49,7 @@ impl VmInvoke for ScryptoVmInstance { args: &IndexedScryptoValue, api: &mut Y, _vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi, V: VmApi, @@ -64,14 +64,14 @@ impl VmInvoke for ScryptoVmInstance { let mut input = Vec::new(); input.push( runtime - .allocate_buffer(args.as_slice().to_vec()) + .allocate_buffer(args.as_payload().into_bytes()) .expect("Failed to allocate buffer"), ); self.instance .invoke_export(export_name, input, &mut runtime)? }; - let output = IndexedScryptoValue::from_vec(rtn).map_err(|e| { + let output = IndexedScryptoValue::from_untrusted_payload_vec(rtn).map_err(|e| { RuntimeError::SystemUpstreamError(SystemUpstreamError::OutputDecodeError(e)) })?; diff --git a/radix-engine/src/vm/vm.rs b/radix-engine/src/vm/vm.rs index b867b1ed041..3e3e4f845c3 100644 --- a/radix-engine/src/vm/vm.rs +++ b/radix-engine/src/vm/vm.rs @@ -88,7 +88,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' BOOT_LOADER_PARTITION, &SubstateKey::Field(BOOT_LOADER_VM_BOOT_FIELD_KEY), ) - .map(|v| scrypto_decode(v.as_slice()).unwrap()) + .map(|v| v.into_typed().unwrap()) .unwrap_or(VmBoot::babylon()); Ok(Self { @@ -103,7 +103,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' export: PackageExport, input: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: SystemApi + KernelInternalApi> @@ -117,7 +117,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' MAIN_BASE_PARTITION .at_offset(PACKAGE_VM_TYPE_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&export.code_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&export.code_hash).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -126,7 +126,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' SystemLockData::default(), )?; let vm_type = api.kernel_read_substate(handle)?; - let vm_type: PackageCodeVmTypeEntrySubstate = vm_type.as_typed().unwrap(); + let vm_type: PackageCodeVmTypeEntrySubstate = vm_type.into_typed().unwrap(); api.kernel_close_substate(handle)?; vm_type .into_value() @@ -148,7 +148,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' MAIN_BASE_PARTITION .at_offset(PACKAGE_ORIGINAL_CODE_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&export.code_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&export.code_hash).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -158,7 +158,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' )?; let original_code = api.kernel_read_substate(handle)?; let original_code: PackageCodeOriginalCodeEntrySubstate = - original_code.as_typed().unwrap(); + original_code.into_typed().unwrap(); api.kernel_close_substate(handle)?; original_code .into_value() @@ -181,7 +181,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' MAIN_BASE_PARTITION .at_offset(PACKAGE_INSTRUMENTED_CODE_PARTITION_OFFSET) .unwrap(), - &SubstateKey::Map(scrypto_encode(&export.code_hash).unwrap()), + &SubstateKey::Map(scrypto_encode_to_payload(&export.code_hash).unwrap()), LockFlags::read_only(), Some(|| { let kv_entry = KeyValueEntrySubstate::<()>::default(); @@ -191,7 +191,7 @@ impl<'g, W: WasmEngine + 'g, E: NativeVmExtension> SystemCallbackObject for Vm<' )?; let instrumented_code = api.kernel_read_substate(handle)?; let instrumented_code: PackageCodeInstrumentedCodeEntrySubstate = - instrumented_code.as_typed().unwrap(); + instrumented_code.into_typed().unwrap(); api.kernel_close_substate(handle)?; instrumented_code .into_value() @@ -231,7 +231,7 @@ pub trait VmInvoke { input: &IndexedScryptoValue, api: &mut Y, vm_api: &V, - ) -> Result + ) -> Result where Y: SystemApi + KernelNodeApi + KernelSubstateApi, V: VmApi; diff --git a/radix-engine/src/vm/wasm_runtime/scrypto_runtime.rs b/radix-engine/src/vm/wasm_runtime/scrypto_runtime.rs index b4e1e39609e..40743992026 100644 --- a/radix-engine/src/vm/wasm_runtime/scrypto_runtime.rs +++ b/radix-engine/src/vm/wasm_runtime/scrypto_runtime.rs @@ -262,7 +262,8 @@ where ); let flags = LockFlags::from_bits(flags).ok_or(WasmRuntimeError::InvalidLockFlags)?; - let handle = self.api.key_value_store_open_entry(&node_id, &key, flags)?; + let key = ScryptoUnvalidatedRawValue::from_payload(key); + let handle = self.api.key_value_store_open_entry(&node_id, key, flags)?; Ok(handle) } @@ -272,7 +273,7 @@ where handle: u32, ) -> Result> { let value = self.api.key_value_entry_get(handle)?; - self.allocate_buffer(value) + self.allocate_buffer(scrypto_encode(&value).unwrap()) } fn key_value_entry_set( @@ -280,6 +281,7 @@ where handle: u32, data: Vec, ) -> Result<(), InvokeError> { + let data = ScryptoUnvalidatedRawValue::from_payload(data); self.api.key_value_entry_set(handle, data)?; Ok(()) } @@ -289,7 +291,7 @@ where handle: u32, ) -> Result> { let value = self.api.key_value_entry_remove(handle)?; - self.allocate_buffer(value) + self.allocate_buffer(scrypto_encode(&value).unwrap()) } fn key_value_entry_close(&mut self, handle: u32) -> Result<(), InvokeError> { @@ -306,8 +308,9 @@ where TryInto::<[u8; NodeId::LENGTH]>::try_into(node_id.as_ref()) .map_err(|_| WasmRuntimeError::InvalidNodeId)?, ); - let rtn = self.api.key_value_store_remove_entry(&node_id, &key)?; - self.allocate_buffer(rtn) + let key = ScryptoUnvalidatedRawValue::from_payload(key); + let rtn = self.api.key_value_store_remove_entry(&node_id, key)?; + self.allocate_buffer(scrypto_encode(&rtn).unwrap()) } fn actor_open_field( @@ -327,8 +330,7 @@ where handle: SubstateHandle, ) -> Result> { let substate = self.api.field_read(handle)?; - - self.allocate_buffer(substate) + self.allocate_buffer(scrypto_encode(&substate).unwrap()) } fn field_entry_write( @@ -336,6 +338,7 @@ where handle: SubstateHandle, data: Vec, ) -> Result<(), InvokeError> { + let data = ScryptoUnvalidatedRawValue::from_payload(data); self.api.field_write(handle, data)?; Ok(()) @@ -459,7 +462,7 @@ where ) -> Result<(), InvokeError> { self.api.actor_emit_event( String::from_utf8(event_name).map_err(|_| WasmRuntimeError::InvalidString)?, - event_payload, + ScryptoUnvalidatedRawPayload::from_payload(event_payload), event_flags, )?; Ok(()) diff --git a/radix-native-sdk/src/component/object.rs b/radix-native-sdk/src/component/object.rs index a172d4f40f6..66e1b75c626 100644 --- a/radix-native-sdk/src/component/object.rs +++ b/radix-native-sdk/src/component/object.rs @@ -1,21 +1,12 @@ use crate::modules::metadata::Metadata; use crate::modules::role_assignment::RoleAssignment; -use radix_common::data::scrypto::{scrypto_encode, ScryptoDecode}; -use radix_common::prelude::ScryptoEncode; -use radix_common::types::GlobalAddress; -use radix_engine_interface::api::{AttachedModuleId, FieldIndex, ModuleId, SystemApi}; +use radix_common::prelude::*; +use radix_engine_interface::api::{AttachedModuleId, FieldIndex, SystemApi}; use radix_engine_interface::object_modules::metadata::{ MetadataSetInput, MetadataVal, METADATA_SET_IDENT, }; use radix_engine_interface::object_modules::ModuleConfig; -use radix_engine_interface::prelude::GlobalAddressReservation; -use radix_engine_interface::prelude::OwnerRole; -use radix_engine_interface::prelude::RoleAssignmentInit; -use radix_engine_interface::prelude::{FieldValue, MetadataInit}; -use radix_engine_interface::types::NodeId; -use radix_rust::indexmap; -use sbor::rust::prelude::*; -use sbor::rust::prelude::{Debug, ToOwned}; +use radix_engine_interface::prelude::*; #[derive(Debug)] pub struct BorrowedObject(pub NodeId); @@ -121,7 +112,9 @@ where inner_object_bp, inner_object_fields, event_name, - scrypto_encode(&event).unwrap(), + scrypto_encode_to_payload(&event) + .unwrap() + .into_unvalidated(), )?; Ok((address, inner_object)) diff --git a/radix-native-sdk/src/resource/resource_manager.rs b/radix-native-sdk/src/resource/resource_manager.rs index 2a7024df4eb..6b4e8f73249 100644 --- a/radix-native-sdk/src/resource/resource_manager.rs +++ b/radix-native-sdk/src/resource/resource_manager.rs @@ -1,9 +1,8 @@ use radix_common::constants::RESOURCE_PACKAGE; use radix_common::data::scrypto::model::*; -use radix_common::data::scrypto::{ - scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode, ScryptoValue, -}; +use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; use radix_common::math::Decimal; +use radix_common::prelude::ScryptoOwnedRawValue; use radix_common::traits::NonFungibleData; use radix_common::ScryptoSbor; use radix_engine_interface::api::{SystemBlueprintApi, SystemObjectApi}; @@ -144,7 +143,7 @@ impl ResourceManager { where Y: SystemObjectApi, { - let value: ScryptoValue = scrypto_decode(&scrypto_encode(&data).unwrap()).unwrap(); + let value: ScryptoOwnedRawValue = scrypto_decode(&scrypto_encode(&data).unwrap()).unwrap(); let rtn = api.call_method( self.0.as_node_id(), diff --git a/radix-native-sdk/src/runtime/runtime.rs b/radix-native-sdk/src/runtime/runtime.rs index 596863a5a97..91e89bedd81 100644 --- a/radix-native-sdk/src/runtime/runtime.rs +++ b/radix-native-sdk/src/runtime/runtime.rs @@ -26,7 +26,9 @@ impl Runtime { { api.actor_emit_event( T::EVENT_NAME.to_string(), - scrypto_encode(&event).unwrap(), + scrypto_encode_to_payload(&event) + .unwrap() + .into_unvalidated(), EventFlags::empty(), ) } @@ -41,7 +43,9 @@ impl Runtime { { api.actor_emit_event( T::EVENT_NAME.to_string(), - scrypto_encode(&event).unwrap(), + scrypto_encode_to_payload(&event) + .unwrap() + .into_unvalidated(), EventFlags::FORCE_WRITE, ) } diff --git a/radix-substate-store-interface/src/db_key_mapper.rs b/radix-substate-store-interface/src/db_key_mapper.rs index bf2b159b79c..57d37eb52c9 100644 --- a/radix-substate-store-interface/src/db_key_mapper.rs +++ b/radix-substate-store-interface/src/db_key_mapper.rs @@ -4,6 +4,7 @@ use crate::interface::{ }; use radix_common::crypto::hash; use radix_common::data::scrypto::{scrypto_decode, scrypto_encode, ScryptoDecode, ScryptoEncode}; +use radix_common::prelude::ScryptoOwnedRawPayload; use radix_common::types::{FieldKey, MapKey, PartitionNumber, SortedKey}; use radix_common::types::{NodeId, SubstateKey}; use radix_rust::copy_u8_array; @@ -120,28 +121,30 @@ impl DatabaseKeyMapper for SpreadPrefixKeyMapper { } fn map_to_db_sort_key(map_key: &MapKey) -> DbSortKey { - DbSortKey(SpreadPrefixKeyMapper::to_hash_prefixed(map_key)) + DbSortKey(SpreadPrefixKeyMapper::to_hash_prefixed(map_key.as_slice())) } + /// Assumes the passed DbSortKey is a representation of a valid Scrypto SBOR MapKey. fn map_from_db_sort_key(db_sort_key: &DbSortKey) -> MapKey { - SpreadPrefixKeyMapper::from_hash_prefixed(&db_sort_key.0).to_vec() + let bytes = SpreadPrefixKeyMapper::from_hash_prefixed(&db_sort_key.0).to_vec(); + MapKey::from_valid_payload(bytes) } fn sorted_to_db_sort_key(sorted_key: &SortedKey) -> DbSortKey { DbSortKey( [ sorted_key.0.as_slice(), - &SpreadPrefixKeyMapper::to_hash_prefixed(&sorted_key.1), + &SpreadPrefixKeyMapper::to_hash_prefixed(&sorted_key.1.as_slice()), ] .concat(), ) } fn sorted_from_db_sort_key(db_sort_key: &DbSortKey) -> SortedKey { - ( - copy_u8_array(&db_sort_key.0[..2]), - SpreadPrefixKeyMapper::from_hash_prefixed(&db_sort_key.0[2..]).to_vec(), - ) + (copy_u8_array(&db_sort_key.0[..2]), { + let bytes = SpreadPrefixKeyMapper::from_hash_prefixed(&db_sort_key.0[2..]).to_vec(); + ScryptoOwnedRawPayload::from_valid_payload(bytes) + }) } } diff --git a/radix-substate-store-queries/src/query/traverse.rs b/radix-substate-store-queries/src/query/traverse.rs index b946f0d9e6b..4f5e6d1ad4f 100644 --- a/radix-substate-store-queries/src/query/traverse.rs +++ b/radix-substate-store-queries/src/query/traverse.rs @@ -108,8 +108,7 @@ impl<'s, 'v, S: SubstateDatabase, V: StateTreeVisitor + 'v> StateTreeTraverser<' .key_value_store_iter(&node_id, None) .unwrap() { - let (_, owned_nodes, _) = - IndexedScryptoValue::from_slice(&value).unwrap().unpack(); + let (_, owned_nodes, _) = IndexedScryptoValue::from_value(value).unpack(); for child_node_id in owned_nodes { Self::traverse_recursive( system_db_reader, @@ -170,9 +169,8 @@ impl<'s, 'v, S: SubstateDatabase, V: StateTreeVisitor + 'v> StateTreeTraverser<' ) .unwrap() { - let map_key = key.into_map(); let non_fungible_local_id: NonFungibleLocalId = - scrypto_decode(&map_key).unwrap(); + key.into_map().decode_as().unwrap(); visitor.visit_non_fungible( node_id, &ResourceAddress::new_or_panic(info.get_outer_object().into()), @@ -253,7 +251,7 @@ impl<'s, 'v, S: SubstateDatabase, V: StateTreeVisitor + 'v> StateTreeTraverser<' for (substate_key, value) in iter { let (_, owned_nodes, _) = - IndexedScryptoValue::from_slice(&value).unwrap().unpack(); + IndexedScryptoValue::from_typed(&value).unpack(); for child_node_id in owned_nodes { Self::traverse_recursive( system_db_reader, diff --git a/radix-substate-store-queries/src/typed_native_events.rs b/radix-substate-store-queries/src/typed_native_events.rs index 574a22921ed..77c16e60b1f 100644 --- a/radix-substate-store-queries/src/typed_native_events.rs +++ b/radix-substate-store-queries/src/typed_native_events.rs @@ -16,7 +16,7 @@ use radix_engine_interface::prelude::*; /// event data into a structured model provided that the event is registered to a native blueprint. pub fn to_typed_native_event( event_type_identifier: &EventTypeIdentifier, - event_data: &[u8], + event_data: &ScryptoRawPayload, ) -> Result { let typed_native_event_key = resolve_typed_event_key_from_event_type_identifier(event_type_identifier)?; @@ -547,7 +547,7 @@ macro_rules! define_structure { // bytes to the appropriate typed event type. fn to_typed_event_with_event_key( event_key: &TypedNativeEventKey, - data: &[u8] + data: &ScryptoRawPayload ) -> Result { match event_key { $( @@ -560,7 +560,7 @@ macro_rules! define_structure { ) => Ok(TypedNativeEvent::$package_ident( [< Typed $package_ident PackageEvent >]::$blueprint_ident( [< Typed $blueprint_ident BlueprintEvent >]::$event_ty( - radix_common::prelude::scrypto_decode(data)? + data.decode_as()? ) ) )), diff --git a/radix-substate-store-queries/src/typed_substate_layout.rs b/radix-substate-store-queries/src/typed_substate_layout.rs index e94fcb71156..a728418fba3 100644 --- a/radix-substate-store-queries/src/typed_substate_layout.rs +++ b/radix-substate-store-queries/src/typed_substate_layout.rs @@ -191,17 +191,16 @@ pub fn to_typed_substate_key( SCHEMAS_PARTITION => { let key = substate_key.for_map().ok_or_else(|| error("Schema key"))?; TypedSubstateKey::Schema(TypedSchemaSubstateKey::SchemaKey( - scrypto_decode(key).map_err(|_| error("Schema key"))?, + key.decode_as().map_err(|_| error("Schema key"))?, )) } METADATA_BASE_PARTITION => { TypedSubstateKey::MetadataModule(TypedMetadataModuleSubstateKey::MetadataEntryKey( - scrypto_decode( - substate_key - .for_map() - .ok_or_else(|| error("Metadata key"))?, - ) - .map_err(|_| error("string Metadata key"))?, + substate_key + .for_map() + .ok_or_else(|| error("Metadata key"))? + .decode_as() + .map_err(|_| error("string Metadata key"))?, )) } ROYALTY_FIELDS_PARTITION => { @@ -211,12 +210,11 @@ pub fn to_typed_substate_key( } ROYALTY_CONFIG_PARTITION => TypedSubstateKey::RoyaltyModule( TypedRoyaltyModuleSubstateKey::RoyaltyMethodRoyaltyEntryKey( - scrypto_decode( - substate_key - .for_map() - .ok_or_else(|| error("RoyaltyConfigEntryFnIdent key"))?, - ) - .map_err(|_| error("string RoyaltyConfigEntryFnIdent key"))?, + substate_key + .for_map() + .ok_or_else(|| error("RoyaltyConfigEntryFnIdent key"))? + .decode_as() + .map_err(|_| error("string RoyaltyConfigEntryFnIdent key"))?, ), ), ROLE_ASSIGNMENT_FIELDS_PARTITION => TypedSubstateKey::RoleAssignmentModule( @@ -230,7 +228,7 @@ pub fn to_typed_substate_key( .for_map() .ok_or_else(|| error("Access Rules key"))?; TypedSubstateKey::RoleAssignmentModule(TypedRoleAssignmentSubstateKey::Rule( - scrypto_decode(&key).map_err(|_| error("Access Rules key"))?, + key.decode_as().map_err(|_| error("Access Rules key"))?, )) } partition_num @ _ if partition_num >= MAIN_BASE_PARTITION => { @@ -363,7 +361,7 @@ fn to_typed_object_substate_key_internal( } else { if let Some(key) = substate_key.for_map() { TypedMainModuleSubstateKey::TransactionTrackerCollectionEntry( - IntentHash::from_hash(scrypto_decode(key).map_err(|_| ())?), + IntentHash::from_hash(key.decode_as().map_err(|_| ())?), ) } else { return Err(()); diff --git a/radix-transaction-scenarios/src/executor.rs b/radix-transaction-scenarios/src/executor.rs index 3e8ec16976a..69d3ec0a33a 100644 --- a/radix-transaction-scenarios/src/executor.rs +++ b/radix-transaction-scenarios/src/executor.rs @@ -321,7 +321,7 @@ where ConsensusManagerField::State.field_index(), ) .map_err(|_| ScenarioExecutorError::FailedToGetEpoch)? - .as_typed::() + .into_typed::() .unwrap() .fully_update_and_into_latest_version() .epoch; diff --git a/radix-transaction-scenarios/src/scenarios/account_locker.rs b/radix-transaction-scenarios/src/scenarios/account_locker.rs index 2c575c574c7..630be5f2f9b 100644 --- a/radix-transaction-scenarios/src/scenarios/account_locker.rs +++ b/radix-transaction-scenarios/src/scenarios/account_locker.rs @@ -719,7 +719,7 @@ impl ScenarioCreator for AccountLockerScenarioCreator { DepositEvent::EVENT_NAME.to_owned(), ) }) - .map(|(_, data)| scrypto_decode::(data).expect("Can't fail")) + .map(|(_, data)| data.decode_as::().expect("Can't fail")) .expect("The resources were not deposited into the account?"); assert_eq!( event, diff --git a/radix-transactions/src/data/transformer.rs b/radix-transactions/src/data/transformer.rs index 223c79d0f33..5364adb8dc2 100644 --- a/radix-transactions/src/data/transformer.rs +++ b/radix-transactions/src/data/transformer.rs @@ -21,6 +21,8 @@ pub trait TransformHandler { fn replace_blob(&mut self, b: ManifestBlobRef) -> Result, E>; } +// TODO: For better efficiency, change this to work in a streaming fashion +// on top of RawValues and a Traverser pub fn transform, E>( value: ManifestValue, handler: &mut T, diff --git a/radix-transactions/src/model/mod.rs b/radix-transactions/src/model/mod.rs index afb63071786..e2e63d5d14a 100644 --- a/radix-transactions/src/model/mod.rs +++ b/radix-transactions/src/model/mod.rs @@ -34,9 +34,8 @@ mod tests { custom_context: Default::default(), depth_limit: 64, }; - let actual = ManifestRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .to_string(display_context); + let actual = + ManifestRawPayload::from_valid_payload_slice(payload).to_string(display_context); let actual_clean: String = actual .trim() .split('\n') diff --git a/sbor-tests/tests/enum.rs b/sbor-tests/tests/enum.rs index 4c414612dc0..521da19c3d6 100644 --- a/sbor-tests/tests/enum.rs +++ b/sbor-tests/tests/enum.rs @@ -132,14 +132,10 @@ fn check_encode_decode_schema(); - validate_payload_against_schema::( - &basic_encode(value).unwrap(), - schema.v1(), - type_id, - &(), - 64, - ) - .unwrap(); + basic_encode_to_payload(value) + .unwrap() + .validate_against_type(schema.v1(), type_id, &()) + .unwrap(); } fn check_encode_identically(value1: &T1, value2: &T2) { diff --git a/sbor/src/basic.rs b/sbor/src/basic.rs index 486836e1b38..2a708847953 100644 --- a/sbor/src/basic.rs +++ b/sbor/src/basic.rs @@ -73,6 +73,18 @@ pub fn basic_encode(v: &T) -> Result, EncodeErr basic_encode_with_depth_limit(v, BASIC_SBOR_V1_MAX_DEPTH) } +pub fn basic_encode_to_payload( + v: &T, +) -> Result { + Ok(BasicOwnedRawPayload::from_valid_payload(basic_encode(v)?)) +} + +pub fn basic_encode_to_value( + v: &T, +) -> Result { + Ok(BasicOwnedRawValue::from_valid_payload(basic_encode(v)?)) +} + pub fn basic_encode_with_depth_limit( v: &T, depth_limit: usize, @@ -243,6 +255,8 @@ create_well_known_lookup!( impl CustomExtension for NoCustomExtension { const PAYLOAD_PREFIX: u8 = BASIC_SBOR_V1_PAYLOAD_PREFIX; + const DEFAULT_DEPTH_LIMIT: usize = BASIC_SBOR_V1_MAX_DEPTH; + type CustomValueKind = NoCustomValueKind; type CustomTraversal = NoCustomTraversal; type CustomSchema = NoCustomSchema; diff --git a/sbor/src/decoder.rs b/sbor/src/decoder.rs index dd7904e3149..eb077485b43 100644 --- a/sbor/src/decoder.rs +++ b/sbor/src/decoder.rs @@ -34,6 +34,8 @@ pub enum DecodeError { DuplicateKey, InvalidCustomValue, // TODO: generify custom error codes + + PayloadTooLong, } pub trait Decoder: Sized { diff --git a/sbor/src/encoded_wrappers.rs b/sbor/src/encoded_wrappers.rs index 1d5115f2097..60b8c4a2c8d 100644 --- a/sbor/src/encoded_wrappers.rs +++ b/sbor/src/encoded_wrappers.rs @@ -1,209 +1,1030 @@ +use crate::rust::hash::Hash; +use crate::rust::ops::Deref; use crate::rust::prelude::*; use crate::traversal::*; use crate::*; -/// A wrapper for a full encoded SBOR payload, including the prefix byte. +/// A wrapper for unverified bytes which are expected (but not guaranteed to be) +/// encoded bytes for a single SBOR value. Under the surface, [`UnvalidatedRawPayload`] can +/// be an owned [`Vec`] or a borrowed slice `&'a [u8]` of an underlying encoded payload. /// -/// Encode is implemented, but Decode is not - because the payload needs to be checked to be valid. -/// Instead, you can use the typed or untyped traverser to validate the payload. +/// This type SBOR encodes as a [`Vec`] of the underlying payload, in _any_ SBOR extension. +/// Use [`RawValue`] if you want to encode as the value. /// -/// The payload is assumed to be valid, and for performance, the payload is -/// encoded directly without checking if it is valid. +/// Validating can turn this into to a [`RawPayload`] which can be achieved via: /// -/// If you need to check the validity of a payload first: -/// * If you have a schema - use the typed traverser -/// * If it is schemaless - use the untyped traverser -pub struct RawPayload<'a, E: CustomExtension> { - full_payload: Cow<'a, [u8]>, - root_value_kind: ValueKind, - custom_extension: PhantomData, +/// * Self validation, using the `validate` method which checks the payload is valid SBOR, +/// or using the `validate_against_type` method, which checks both that it is valid SBOR, +/// and that it aligns with a type from a schema. +/// * Confirmed validation, where the payload is validated externally, and then +/// `confirm_validated` is called on the payload. +/// +/// A [`RawPayload`] can then optionally be turned into a [`RawValue`] with `into_value()`. +/// +/// This type guarantees to wrap a full untrusted payload, unlike [`UnvalidatedRawValue`]. +/// Therefore, we are allowed to directly read this full untrusted payload cheaply. +/// +/// ## Trait Implementations +/// +/// SBOR traits [`Categorize`], [`Encode`], [`Decode`] and [`Describe`] are implemented +/// for all extensions, by encoding the bytes of the untrusted payload as a [`Vec`]. +/// +/// [`Hash`], [`PartialEq`], [`Eq`], [`PartialOrd`] and [`Ord`] are all implemented with respect to +/// the byte representation of the untrusted payload. +#[derive(Debug, Clone, Sbor)] +#[sbor( + as_type = "Cow<'a, [u8]>", + as_ref = "&self.0", + from_value = "Self::from_payload_cow(value)", + child_types = "", + transparent_name, // This means Describe will not create a new type and just use Vec (via Cow) +)] +pub struct UnvalidatedRawPayload<'a, E: CustomExtension>(Cow<'a, [u8]>, PhantomData); + +// Lots of manual trait implementations because the automated derivations +// are all conditional on E implementing stuff +impl<'a, E: CustomExtension> PartialEq for UnvalidatedRawPayload<'a, E> { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } } -impl<'a, E: CustomExtension> RawPayload<'a, E> { +impl<'a, E: CustomExtension> Eq for UnvalidatedRawPayload<'a, E> {} + +impl<'a, E: CustomExtension> Hash for UnvalidatedRawPayload<'a, E> { + fn hash(&self, state: &mut H) { + self.0.hash(state); + } +} + +impl<'a, E: CustomExtension> PartialOrd for UnvalidatedRawPayload<'a, E> { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl<'a, E: CustomExtension> Ord for UnvalidatedRawPayload<'a, E> { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.0.cmp(&other.0) + } +} + +impl<'a, E: CustomExtension> UnvalidatedRawPayload<'a, E> { /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). + pub fn from_payload_slice(payload_slice: &'a [u8]) -> Self { + Self(Cow::Borrowed(payload_slice), PhantomData) + } + + /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). + pub fn from_payload(payload_vec: Vec) -> Self { + Self(Cow::Owned(payload_vec), PhantomData) + } + + /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). + pub fn from_payload_cow(payload_cow: Cow<'a, [u8]>) -> Self { + Self(payload_cow, PhantomData) + } + + pub fn unvalidated_payload_slice(&self) -> &[u8] { + self.0.as_ref() + } + + pub fn unvalidated_payload_len(&self) -> usize { + self.0.as_ref().len() + } + + pub fn into_value(self) -> UnvalidatedRawValue<'a, E> { + match self.0 { + Cow::Borrowed(payload_slice) => UnvalidatedRawValue::from_payload_slice(payload_slice), + Cow::Owned(payload_vec) => UnvalidatedRawValue::from_payload(payload_vec), + } + } + + pub fn as_value(&self) -> UnvalidatedRawValue { + UnvalidatedRawValue::from_payload_slice(self.0.as_ref()) + } + + pub fn traverser(&self, max_depth: usize) -> VecTraverser { + let slice = self.unvalidated_payload_slice(); + let expected_start = ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX); + VecTraverser::::new(slice, max_depth, expected_start, true) + } + + pub fn typed_traverser<'b, 's>( + &'b self, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + ) -> TypedTraverser<'b, 's, E> { + let slice = self.unvalidated_payload_slice(); + let expected_start = ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX); + TypedTraverser::new(slice, schema, type_id, max_depth, expected_start, true) + } + + /// Uses the default max depth for the given extension. + pub fn validate(self) -> Result, DecodeError> { + self.validate_with_max_depth(E::DEFAULT_DEPTH_LIMIT) + } + + pub fn validate_with_max_depth( + self, + max_depth: usize, + ) -> Result, DecodeError> { + self.traverser(max_depth).traverse_to_end()?; + Ok(self.confirm_validated()) + } + + /// Uses the default max depth from the extension. + /// If you want a custom max depth, use `validate_against_type_with_max_depth`. + pub fn validate_against_type<'b, 's, T>( + self, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result, LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + self.validate_against_type_with_max_depth(E::DEFAULT_DEPTH_LIMIT, schema, type_id, context) + } + + pub fn validate_against_type_with_max_depth<'b, 's, T>( + self, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result, LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + validate_typed_traverser( + &mut self.typed_traverser(max_depth, schema, type_id), + context, + )?; + Ok(self.confirm_validated()) + } + + /// By calling this you confirm that you know the underlying payload is valid, + /// which means the payload is a valid SBOR encoding under extension `E` /// - /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is - /// passed to the caller. - /// - /// This constructor does not check the prefix byte, and panics if the root value kind is invalid. - pub fn new_from_valid_slice(payload_bytes: &'a [u8]) -> Self { - Self { - full_payload: Cow::Borrowed(payload_bytes), - root_value_kind: ValueKind::::from_u8(payload_bytes[1]).unwrap(), - custom_extension: PhantomData, + /// Failing to do so can cause a panic now, or much later down the line. + pub fn confirm_validated(self) -> RawPayload<'a, E> { + match self.0 { + Cow::Borrowed(payload_slice) => RawPayload::from_valid_payload_slice(payload_slice), + Cow::Owned(payload_vec) => RawPayload::from_valid_payload(payload_vec), } } +} + +/// A wrapper for encoded bytes of a valid single SBOR value. Under the surface, a +/// [`RawPayload`] can be an owned [`Vec`] or a borrowed slice `&'a [u8]` of an +/// underlying encoded payload. +/// +/// This type SBOR encodes as a [`Vec`] of the underlying payload, in _any_ SBOR extension. +/// Use [`RawValue`] if you want to encode as the value. A [`RawPayload`] can be cheaply turned into +/// a [`RawValue`] with `into_value()`. +/// +/// If the bytes are not trusted yet to be valid SBOR, use [`UnvalidatedRawPayload`] or +/// [`UnvalidatedRawValue`] instead. +/// +/// ## Conversion between forms +/// +/// The following conversions are all useful: +/// * `as_payload_ref<'b>(&'b self) > RawPayload<'b, E>` - Cheaply creates an owned `RawPayload`, +/// referring to a slice of the underlying bytes from `&self`. +/// * `into_owned(self) > RawPayload<'static, E>` - Converts the underlying bytes into an owned +/// `Vec` - either moving out of `self` if possible, if not, creating a `Vec` of the +/// whole payload. +/// * `ref_into_owned(&self) > RawPayload<'static, E>` - Converts from a reference to a new owned +/// value with owned underlying bytes (moving out of `self` if possible). +/// * `as_value<'b>(&'b self) -> RawValue<'b, E>` - Cheaply creates an owned `RawValue`, +/// referring to a slice of the underlying bytes from `&self`. +/// * `into_value(self) -> RawValue<'a, E>` - Converts from a `RawPayload` into a `RawValue`. +/// * `into_unvalidated(self) -> UnvalidatedRawPayload<'a, E>` - Forgets that the value has already +/// been validated, moving self. +/// * `as_unvalidated<'b>(&'b self) -> UnvalidatedRawPayload<'b, E>` - Forgets that the value has already +/// been validated, taking a reference to the underlying value. Useful for temporary validation +/// without moving the value. +/// +/// ## Trait implementations +/// +/// SBOR traits [`Categorize`], [`Encode`], [`Decode`] and [`Describe`] are implemented +/// for all extensions, by encoding the bytes of the untrusted payload as a [`Vec`]. +/// +/// [`Hash`], [`PartialEq`], [`Eq`], [`PartialOrd`] and [`Ord`] are all implemented with respect to +/// the byte representation of the payload. +#[derive(Debug, Clone, Sbor)] +#[sbor( + as_type = "Cow<'a, [u8]>", + as_ref = "&self.0", + from_value = "Self::from_valid_payload_cow(value)", + child_types = "", + transparent_name, // This means Describe will not create a new type and just use Vec (via Cow) +)] +pub struct RawPayload<'a, E: CustomExtension>(Cow<'a, [u8]>, PhantomData); + +// Lots of manual trait implementations because the automated derivations +// are all conditional on E implementing stuff +impl<'a, E: CustomExtension> PartialEq for RawPayload<'a, E> { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} + +impl<'a, E: CustomExtension> Eq for RawPayload<'a, E> {} + +impl<'a, E: CustomExtension> Hash for RawPayload<'a, E> { + fn hash(&self, state: &mut H) { + self.0.hash(state); + } +} +impl<'a, E: CustomExtension> PartialOrd for RawPayload<'a, E> { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl<'a, E: CustomExtension> Ord for RawPayload<'a, E> { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.0.cmp(&other.0) + } +} + +impl<'a, E: CustomExtension> RawPayload<'a, E> { /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). /// /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is - /// passed to the caller. - /// - /// Unlike `new_from_valid_payload_bytes`, the constructor includes a prefix byte check to hopefully - /// catch some errors - but it is not guaranteed to catch all errors. - pub fn new_from_valid_slice_with_checks(payload_bytes: &'a [u8]) -> Option { - if payload_bytes.len() < 2 || payload_bytes[0] != E::PAYLOAD_PREFIX { - return None; - } - let Some(value_kind) = ValueKind::::from_u8(payload_bytes[1]) else { - return None; - }; - Some(Self { - full_payload: Cow::Borrowed(payload_bytes), - root_value_kind: value_kind, - custom_extension: PhantomData, - }) + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_payload_slice(payload_slice: &'a [u8]) -> Self { + Self(Cow::Borrowed(payload_slice), PhantomData) } /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). /// /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is - /// passed to the caller. - /// - /// This constructor does not check the prefix byte, and panics if the root value kind is invalid. - pub fn new_from_valid_owned(payload_bytes: Vec) -> Self { - let root_value_kind = ValueKind::::from_u8(payload_bytes[1]).unwrap(); - Self { - full_payload: Cow::Owned(payload_bytes), - root_value_kind, - custom_extension: PhantomData, - } + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_payload(payload_bytes: Vec) -> Self { + Self(Cow::Owned(payload_bytes), PhantomData) } /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). /// /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is - /// passed to the caller. - /// - /// Unlike `new_from_valid_payload_bytes`, the constructor includes a prefix byte check to hopefully - /// catch some errors - but it is not guaranteed to catch all errors. - pub fn new_from_valid_owned_with_checks(payload_bytes: Vec) -> Option { - if payload_bytes.len() < 2 || payload_bytes[0] != E::PAYLOAD_PREFIX { - return None; - } - let Some(value_kind) = ValueKind::::from_u8(payload_bytes[1]) else { - return None; - }; - Some(Self { - full_payload: Cow::Owned(payload_bytes), - root_value_kind: value_kind, - custom_extension: PhantomData, - }) + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_payload_cow(payload_cow: Cow<'a, [u8]>) -> Self { + Self(payload_cow, PhantomData) } - pub fn as_encoded_value<'b>(&'b self) -> RawValue<'b, E> { - RawValue::new_from_valid_value_body_slice( - self.root_value_kind, - self.encoded_root_body_bytes(), - ) + pub fn from_value(value: RawValue<'a, E>) -> Self { + value.into_payload() + } + + pub fn unit() -> Self { + Self::from_valid_payload(vec![ + E::PAYLOAD_PREFIX, + ValueKind::::Tuple.as_u8(), + 0, + ]) + } + + pub fn as_slice(&self) -> &[u8] { + self.0.deref() + } + + pub fn len(&self) -> usize { + self.as_slice().len() + } + + pub fn into_bytes(self) -> Vec { + self.0.into_owned() + } + + pub fn as_payload_ref<'b>(&'b self) -> RawPayload<'b, E> { + RawPayload::from_valid_payload_slice(self.as_slice()) + } + + pub fn ref_into_owned(&self) -> RawPayload<'static, E> { + self.as_payload_ref().into_owned() + } + + pub fn into_owned(self) -> RawPayload<'static, E> { + RawPayload::from_valid_payload(self.into_bytes()) + } + + pub fn as_value<'b>(&'b self) -> RawValue<'b, E> { + RawValue::from_valid_payload_slice(self.as_slice()) } - pub fn decode_into< + pub fn into_value(self) -> RawValue<'a, E> { + RawValue(RawValueContent::from_payload_cow(self.0)) + } + + pub fn as_unvalidated(&self) -> UnvalidatedRawPayload { + UnvalidatedRawPayload::from_payload_slice(self.as_slice()) + } + + pub fn into_unvalidated(self) -> UnvalidatedRawPayload<'a, E> { + UnvalidatedRawPayload::from_payload(self.into_bytes()) + } + + pub fn decode_as Decode>>( + &self, + ) -> Result { + self.decode_as_with_depth_limit(E::DEFAULT_DEPTH_LIMIT) + } + + pub fn decode_as_with_depth_limit< T: for<'b> Decode>, >( &self, depth_limit: usize, ) -> Result { - let mut decoder = VecDecoder::new(self.encoded_root_body_bytes(), depth_limit); - T::decode_body_with_value_kind(&mut decoder, self.root_value_kind) + VecDecoder::new(self.as_slice(), depth_limit).decode_payload(E::PAYLOAD_PREFIX) } - pub fn root_value_kind(&self) -> ValueKind { - self.root_value_kind + pub fn traverser(&self, max_depth: usize) -> VecTraverser { + let slice = self.as_slice(); + let expected_start = ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX); + VecTraverser::::new(slice, max_depth, expected_start, true) } - pub fn payload_bytes(&self) -> &[u8] { - &self.full_payload + pub fn typed_traverser<'s>( + &self, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + ) -> TypedTraverser<'_, 's, E> { + let slice = self.as_slice(); + let expected_start = ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX); + TypedTraverser::new(slice, schema, type_id, max_depth, expected_start, true) } - pub fn encoded_root_value_bytes(&self) -> &[u8] { - &self.full_payload[1..] + pub fn validate_against_type_with_max_depth<'b, 's, T>( + &'b self, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result<(), LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + validate_typed_traverser( + &mut self.typed_traverser(max_depth, schema, type_id), + context, + ) } - pub fn encoded_root_body_bytes(&self) -> &[u8] { - &self.full_payload[2..] + /// Uses the default max depth from the extension. + /// If you want a custom max depth, use `validate_against_type_with_max_depth`. + pub fn validate_against_type<'b, 's, T>( + &'b self, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result<(), LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + self.validate_against_type_with_max_depth(E::DEFAULT_DEPTH_LIMIT, schema, type_id, context) } } -impl<'a, E: CustomExtension> TryFrom<&'a [u8]> for RawPayload<'a, E> { - type Error = (); +/// A wrapper for unvalidated bytes which are expected to be encoded bytes for a single SBOR value, +/// but the bytes may not be valid SBOR. +/// +/// The validation process is marked by conversion into a [`RawValue`], which can either be done via: +/// +/// * Self validation, using the `validate` method which checks the payload is valid SBOR, +/// or using the `validate_against_type` method, which checks both that it is valid SBOR, +/// and that it aligns with a type from a schema. +/// * Confirmed validation, where the payload is validated externally, and then +/// `confirm_validated` is called on the payload. +/// +/// Under the surface, [`UnvalidatedRawValue`] can an owned [`Vec`] or a borrowed slice +/// `&'a [u8]` of an underlying encoded payload, value body, or value. The actual underlying +/// value is stored for efficient conversions out of this type. +/// +/// ## Trait Implementations +/// +/// Very few traits are implemented, because we have little trust in the underlying value / +/// structure. +/// +/// If you want [`Hash`], [`PartialEq`], [`Eq`], [`PartialOrd`] and [`Ord`] on the underlying +/// untrusted bytes, try using an [`UnvalidatedRawPayload`] instead, which only accepts a full +/// payload slice or `Vec`. This can freely be converted into an [`UnvalidatedRawValue`] later. +/// +/// If you want SBOR traits implemented to encode as the underlying value, you need to +/// validate the value to a [`RawValue`]. +/// +/// If you want the SBOR traits implemented to encode as a [`Vec`] of the Payload, you +/// should use [`UnvalidatedRawPayload`] instead. +#[derive(Debug, Clone)] +pub struct UnvalidatedRawValue<'a, E: CustomExtension>(RawValueContent<'a, E>); - fn try_from(value: &'a [u8]) -> Result { - RawPayload::new_from_valid_slice_with_checks(value).ok_or(()) +impl<'a, E: CustomExtension> UnvalidatedRawValue<'a, E> { + pub fn from_payload_slice(payload_slice: &'a [u8]) -> Self { + Self(RawValueContent::PayloadSlice(payload_slice)) } -} -impl> Encode - for RawPayload<'_, Ext> -{ - fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError> { - encoder.write_value_kind(self.root_value_kind) + pub fn from_payload(payload_bytes: Vec) -> Self { + Self(RawValueContent::OwnedPayload(payload_bytes)) } - fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError> { - encoder.write_slice(self.encoded_root_body_bytes()) + pub fn from_value_slice(value_slice: &'a [u8]) -> Self { + Self(RawValueContent::ValueSlice(value_slice)) + } + + pub fn from_value(value_vec: Vec) -> Self { + Self(RawValueContent::OwnedValue(value_vec)) + } + + pub fn from_value_body_slice( + value_kind: ValueKind, + value_body_slice: &'a [u8], + ) -> Self { + Self(RawValueContent::ValueBodySlice( + value_kind, + value_body_slice, + )) + } + + pub fn from_value_body( + value_kind: ValueKind, + value_body_vec: Vec, + ) -> Self { + Self(RawValueContent::OwnedValueBody(value_kind, value_body_vec)) + } + + /// Cheaply returns an owned [`UnvalidatedRawValue`] which internally is a reference to the underlying content. + pub fn as_value_ref(&self) -> UnvalidatedRawValue { + UnvalidatedRawValue(self.0.as_content_ref()) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn traverser( + &self, + parent_depth: usize, + max_depth: usize, + ) -> VecTraverser { + self.0.traverser(max_depth - parent_depth) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn typed_traverser<'b, 's>( + &'b self, + parent_depth: usize, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + ) -> TypedTraverser<'b, 's, E> { + self.0 + .typed_traverser(max_depth - parent_depth, schema, type_id) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + /// + /// Uses the default max depth for the given extension. + pub fn validate(self, parent_depth: usize) -> Result, DecodeError> { + self.validate_with_max_depth(parent_depth, E::DEFAULT_DEPTH_LIMIT) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn validate_with_max_depth( + self, + parent_depth: usize, + max_depth: usize, + ) -> Result, DecodeError> { + self.traverser(parent_depth, max_depth).traverse_to_end()?; + Ok(self.confirm_validated()) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn validate_against_type_with_max_depth<'b, 's, T>( + self, + parent_depth: usize, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result, LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + self.0.payload_len().ok_or(LocatedValidationError { + error: PayloadValidationError::TraversalError(TypedTraversalError::DecodeError( + DecodeError::PayloadTooLong, + )), + location: FullLocation { + start_offset: usize::MAX, + end_offset: usize::MAX, + ancestor_path: vec![], + current_value_info: None, + }, + })?; + validate_typed_traverser( + &mut self.typed_traverser(parent_depth, max_depth, schema, type_id), + context, + )?; + Ok(self.confirm_validated()) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + /// + /// This method assumes that that the type should be validated with the default max depth + /// for the extension. If you want a custom max depth, use `validate_against_type_with_max_depth`. + pub fn validate_against_type<'b, 's, T>( + self, + parent_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result, LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + self.validate_against_type_with_max_depth( + parent_depth, + E::DEFAULT_DEPTH_LIMIT, + schema, + type_id, + context, + ) + } + + /// By calling this you confirm that you know the underlying payload is valid, + /// which means: + /// * The full (or partial) payload is a valid SBOR encoding under extension `E` + /// * The full payload length is <= usize + /// + /// Failing to do so can cause a panic now, or much later down the line. + pub fn confirm_validated(self) -> RawValue<'a, E> { + RawValue(self.0) } } -/// A wrapper for a reference to a valid partial SBOR payload representing a single value. +/// A wrapper for encoded bytes of a valid single SBOR value. +/// +/// [`RawValue`] is SBOR-encoded as the underlying value. This is unlike [`RawPayload`], which +/// is SBOR-encoded as a byte array of the encoded payload. /// -/// Encode, Decode and Describe are implemented: -/// * For performance, the payload is encoded directly without checking if it is valid. -/// * Decoding goes through a traverser, which calculates the length of the bytes and ensures that the bytes are actually valid. +/// Under the surface, [`RawValue`] can an owned [`Vec`] or a borrowed slice `&'a [u8]` of +/// an underlying encoded payload, value body, or value. The actual underlying value is stored +/// for efficient conversions out of this type. For example, it is zero-copy to decode into a +/// [`RawValue`] and then turn it into payload bytes. +/// +/// If the bytes are not trusted yet to be valid SBOR, use [`UnvalidatedRawPayload`] or +/// [`UnvalidatedRawValue`] instead. +/// +/// ## Conversion between forms +/// +/// The following are common conversions between different forms: +/// * `as_value_ref<'b>(&'b self) > RawValue<'b, E>` - Cheaply creates an owned `RawValue`, +/// referring to a slice of the underlying bytes from `&self`. +/// * `into_owned(self) > RawValue<'static, E>` - Converts the underlying bytes into an owned +/// `Vec` - either moving out of `self` if possible, if not, creating a `Vec` of the +/// whole payload. +/// * `ref_into_owned(&self) > RawValue<'static, E>` - Converts from a reference to a new owned +/// value with owned underlying bytes (moving out of `self` if possible). +/// * `as_payload<'b>(&'b self) -> RawPayload<'b, E>` - Cheaply creates an owned `RawPayload`, +/// referring to a slice of the underlying bytes from `&self`. +/// * `into_payload(self) -> RawPayload<'a, E>` - Converts from a `RawValue` into a `RawPayload`. +/// * `into_owned_payload(self) -> RawPayload<'static, E>` - Converts to a `RawPayload` wrapping +/// a `Vec` of the full payload. +/// * `into_unvalidated(self) -> UnvalidatedRawValue<'a, E>` - Forgets that the value has already +/// been validated, moving self. +/// * `as_unvalidated<'b>(&'b self) -> UnvalidatedRawValue<'b, E>` - Forgets that the value has already +/// been validated, taking a reference to the underlying value. Useful for temporary validation +/// without moving the value. +/// +/// ## Trait implementations +/// +/// SBOR traits [`Encode`], [`Decode`] and [`Describe`] are implemented for the extension `E`: +/// * Encoding is direct, as the bytes are known to be valid SBOR. +/// * Decoding goes through a traverser, which calculates the length of the bytes and ensures +/// that the bytes are valid. /// * Describe is implemented as Any. /// -/// Categorize can't be implemented, because we can't guarantee the value kind is constant. -/// This means RawValue can't be put as an immediate child to a Vec or Map. +/// But SBOR [`Categorize`] can't be implemented, because we can't guarantee the value kind is constant. +/// This means [`RawValue`] can't be put as an immediate child to a Vec or Map. You could consider +/// serializing them opaquely as a [`Vec`] by converting them to [`RawPayload`]s, if you wish. +/// +/// [`Hash`], [`PartialEq`], [`Eq`], [`PartialOrd`] and [`Ord`] are all implemented with respect to +/// the effective underlying byte representation of the payload. #[derive(Debug, Clone)] -pub struct RawValue<'a, E: CustomExtension> { - value_kind: ValueKind, - value_body: Cow<'a, [u8]>, - custom_extension: PhantomData, -} +pub struct RawValue<'a, E: CustomExtension>(RawValueContent<'a, E>); impl<'a, E: CustomExtension> RawValue<'a, E> { + /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). + /// + /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_payload_slice(payload_slice: &'a [u8]) -> Self { + Self(RawValueContent::from_payload_slice(payload_slice)) + } + + /// The bytes should include the prefix byte (eg 0x5b for basic SBOR). + /// + /// It is the caller's responsibility to ensure that a valid SBOR payload for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_payload(payload_vec: Vec) -> Self { + Self(RawValueContent::from_payload(payload_vec)) + } + /// The bytes should include the value kind byte, but not the payload prefix byte. /// - /// The bytes must be at least 1 byte long, else this will panic. - pub fn new_from_valid_full_value_slice(encoded_full_value: &'a [u8]) -> Self { - let value_kind = ValueKind::from_u8(encoded_full_value[0]).unwrap(); - Self { - value_kind, - value_body: Cow::Borrowed(&encoded_full_value[1..]), - custom_extension: PhantomData, - } + /// It is the caller's responsibility to ensure that a valid SBOR value for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_value_slice(value_slice: &'a [u8]) -> Self { + Self(RawValueContent::from_value_slice(value_slice)) } - /// The bytes should include the value, not the value kind or the prefix byte - pub fn new_from_valid_value_body_slice( + /// The bytes should include the value kind byte, but not the payload prefix byte. + /// + /// It is the caller's responsibility to ensure that a valid SBOR value for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_value(value_vec: Vec) -> Self { + Self(RawValueContent::from_value(value_vec)) + } + + /// The bytes should include the value, not the value kind or the payload prefix byte. + /// + /// It is the caller's responsibility to ensure that a valid SBOR value body for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_value_body_slice( value_kind: ValueKind, - encoded_value_body: &'a [u8], + value_body_slice: &'a [u8], ) -> Self { - Self { + Self(RawValueContent::from_value_body_slice( value_kind, - value_body: Cow::Borrowed(encoded_value_body), - custom_extension: PhantomData, - } + value_body_slice, + )) } - /// The bytes should include the value, not the value kind or the prefix byte - pub fn new_from_valid_owned_value_body( + /// The bytes should include the value, not the value kind or the payload prefix byte. + /// + /// It is the caller's responsibility to ensure that a valid SBOR value body for extension E is + /// passed to the caller. Otherwise, this constructor or later operations can panic. + pub fn from_valid_value_body( value_kind: ValueKind, - encoded_value_body: Vec, + value_body_vec: Vec, ) -> Self { - Self { - value_kind, - value_body: Cow::Owned(encoded_value_body), - custom_extension: PhantomData, + Self(RawValueContent::from_value_body(value_kind, value_body_vec)) + } + + pub fn as_unvalidated(&self) -> UnvalidatedRawValue<'_, E> { + UnvalidatedRawValue(self.0.as_content_ref()) + } + + pub fn into_unvalidated(self) -> UnvalidatedRawValue<'a, E> { + UnvalidatedRawValue(self.0) + } + + /// Cheaply returns an owned [`RawValue`] which internally is a reference to the underlying content. + pub fn as_value_ref(&self) -> RawValue { + RawValue(self.0.as_content_ref()) + } + + pub fn ref_into_owned(&self) -> RawValue<'static, E> { + self.as_value_ref().into_owned() + } + + pub fn into_owned(self) -> RawValue<'static, E> { + let content = match self.0 { + RawValueContent::OwnedPayload(vec) => RawValueContent::OwnedPayload(vec), + RawValueContent::OwnedValue(vec) => RawValueContent::OwnedValue(vec), + RawValueContent::OwnedValueBody(value_kind, vec) => { + RawValueContent::OwnedValueBody(value_kind, vec) + } + // For any of the slices, we have to allocate into a vec. + // If so, we may as well allocate a full payload, for maximum utility + _ => RawValueContent::OwnedPayload(self.into_payload_bytes()), + }; + RawValue(content) + } + + pub fn as_payload<'b>(&'b self) -> RawPayload<'b, E> { + RawPayload::from_valid_payload_cow(self.as_payload_cow()) + } + + pub fn into_payload(self) -> RawPayload<'a, E> { + RawPayload::from_valid_payload_cow(self.into_payload_cow()) + } + + pub fn into_owned_payload(self) -> RawPayload<'static, E> { + RawPayload::from_valid_payload(self.into_payload_bytes()) + } + + fn as_payload_cow(&self) -> Cow<'_, [u8]> { + match &self.0 { + // Explicitly handle the owned payload case for efficiency + RawValueContent::OwnedPayload(payload_bytes) => Cow::Borrowed(payload_bytes), + RawValueContent::PayloadSlice(payload_slice) => Cow::Borrowed(payload_slice), + // Otherwise we have to create a new raw payload + _ => Cow::Owned(self.construct_payload_vec()), } } + fn into_payload_cow(self) -> Cow<'a, [u8]> { + match self.0 { + // Explicitly handle the owned payload case for efficiency + RawValueContent::OwnedPayload(payload_bytes) => Cow::Owned(payload_bytes), + RawValueContent::PayloadSlice(payload_slice) => Cow::Borrowed(payload_slice), + // Otherwise we have to create a new raw payload + _ => Cow::Owned(self.construct_payload_vec()), + } + } + + pub fn into_payload_bytes(self) -> Vec { + match self.0 { + // Explicitly handle the owned payload case for efficiency + RawValueContent::OwnedPayload(payload_bytes) => payload_bytes, + // Otherwise we have to create a new raw payload + _ => self.construct_payload_vec(), + } + } + + fn construct_payload_vec(&self) -> Vec { + let body_bytes = self.value_body(); + let mut vec = Vec::with_capacity(self.payload_len()); + vec.push(E::PAYLOAD_PREFIX); + vec.push(self.value_kind().as_u8()); + vec.extend_from_slice(body_bytes); + vec + } + + pub fn decode_as_with_depth_limit< + T: for<'b> Decode>, + >( + &self, + depth_limit: usize, + ) -> Result { + VecDecoder::new(self.value_body(), depth_limit) + .decode_deeper_body_with_value_kind(self.value_kind()) + } + + pub fn decode_as Decode>>( + &self, + ) -> Result { + VecDecoder::new(self.value_body(), E::DEFAULT_DEPTH_LIMIT) + .decode_deeper_body_with_value_kind(self.value_kind()) + } + + pub fn unit() -> Self { + let value_body = vec![0]; // Length = 0 + Self::from_valid_value_body(ValueKind::Tuple, value_body) + } + pub fn value_kind(&self) -> ValueKind { - self.value_kind + // Unwrap is safe because we're validated now. + self.0.value_kind().unwrap() + } + + pub fn payload_len(&self) -> usize { + // Unwrap is safe because we're validated now. + self.0.payload_len().unwrap() } - pub fn value_body_bytes(&self) -> &[u8] { - &self.value_body + pub fn value_body(&self) -> &[u8] { + match &self.0 { + RawValueContent::PayloadSlice(slice) => &slice[2..], + RawValueContent::ValueSlice(slice) => &slice[1..], + RawValueContent::ValueBodySlice(_, slice) => slice, + RawValueContent::OwnedPayload(vec) => &vec[2..], + RawValueContent::OwnedValue(vec) => &vec[1..], + RawValueContent::OwnedValueBody(_, vec) => &vec, + } + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn traverser( + &self, + parent_depth: usize, + max_depth: usize, + ) -> VecTraverser { + self.0.traverser(max_depth - parent_depth) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn typed_traverser<'b, 's>( + &'b self, + parent_depth: usize, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + ) -> TypedTraverser<'b, 's, E> { + self.0 + .typed_traverser(max_depth - parent_depth, schema, type_id) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + /// + /// This method assumes that that the type should be validated with the default max depth + /// for the extension. If you want a custom max depth, use `validate_against_type_with_max_depth`. + pub fn validate_against_type<'b, 's, T>( + &'b self, + parent_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result<(), LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + self.validate_against_type_with_max_depth( + parent_depth, + E::DEFAULT_DEPTH_LIMIT, + schema, + type_id, + context, + ) + } + + /// For values which are contained within a larger value, the `parent_depth` is the + /// current depth before entering the current value. For root values, `parent_depth` should be 0. + pub fn validate_against_type_with_max_depth<'b, 's, T>( + &'b self, + parent_depth: usize, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + context: &T, + ) -> Result<(), LocatedValidationError<'s, E>> + where + E: ValidatableCustomExtension, + { + validate_typed_traverser( + &mut self.typed_traverser(parent_depth, max_depth, schema, type_id), + context, + ) + } +} + +/// An underlying type, used for both validated and unvalidated values. +/// +/// We efficiently store the "best" / largest value we can. +#[derive(Debug, Clone)] +enum RawValueContent<'a, E: CustomExtension> { + PayloadSlice(&'a [u8]), + ValueSlice(&'a [u8]), + ValueBodySlice(ValueKind, &'a [u8]), + OwnedPayload(Vec), + OwnedValue(Vec), + OwnedValueBody(ValueKind, Vec), +} + +impl<'a, E: CustomExtension> RawValueContent<'a, E> { + pub fn from_payload_slice(payload_slice: &'a [u8]) -> Self { + Self::PayloadSlice(payload_slice) + } + + pub fn from_payload(payload_bytes: Vec) -> Self { + Self::OwnedPayload(payload_bytes) + } + + pub fn from_payload_cow(payload_cow: Cow<'a, [u8]>) -> Self { + match payload_cow { + Cow::Borrowed(payload_slice) => Self::PayloadSlice(payload_slice), + Cow::Owned(payload_vec) => Self::OwnedPayload(payload_vec), + } + } + + pub fn from_value_slice(value_slice: &'a [u8]) -> Self { + Self::ValueSlice(value_slice) + } + + pub fn from_value(value_vec: Vec) -> Self { + Self::OwnedValue(value_vec) + } + + pub fn from_value_body_slice( + value_kind: ValueKind, + value_body_slice: &'a [u8], + ) -> Self { + Self::ValueBodySlice(value_kind, value_body_slice) + } + + pub fn from_value_body( + value_kind: ValueKind, + value_body_vec: Vec, + ) -> Self { + Self::OwnedValueBody(value_kind, value_body_vec) + } + + fn as_content_ref<'b>(&'b self) -> RawValueContent<'b, E> { + match self { + RawValueContent::PayloadSlice(slice) => RawValueContent::PayloadSlice(slice), + RawValueContent::ValueSlice(slice) => RawValueContent::ValueSlice(slice), + RawValueContent::ValueBodySlice(value_kind, slice) => { + RawValueContent::ValueBodySlice(*value_kind, slice) + } + RawValueContent::OwnedPayload(vec) => RawValueContent::PayloadSlice(&vec), + RawValueContent::OwnedValue(vec) => RawValueContent::ValueSlice(&vec), + RawValueContent::OwnedValueBody(value_kind, vec) => { + RawValueContent::ValueBodySlice(*value_kind, &vec) + } + } + } + + /// Will be Some if already validated + fn payload_len(&self) -> Option { + match self { + RawValueContent::PayloadSlice(slice) => Some(slice.len()), + RawValueContent::ValueSlice(slice) => slice.len().checked_add(1), + RawValueContent::ValueBodySlice(_, slice) => slice.len().checked_add(2), + RawValueContent::OwnedPayload(vec) => Some(vec.len()), + RawValueContent::OwnedValue(vec) => vec.len().checked_add(1), + RawValueContent::OwnedValueBody(_, vec) => vec.len().checked_add(2), + } + } + + /// Will be Some if already validated + fn value_kind(&self) -> Option> { + match self { + RawValueContent::PayloadSlice(slice) => { + slice.get(1).and_then(|v| ValueKind::from_u8(*v)) + } + RawValueContent::ValueSlice(slice) => slice.get(0).and_then(|v| ValueKind::from_u8(*v)), + RawValueContent::ValueBodySlice(value_kind, _) => Some(*value_kind), + RawValueContent::OwnedPayload(vec) => vec.get(1).and_then(|v| ValueKind::from_u8(*v)), + RawValueContent::OwnedValue(vec) => vec.get(0).and_then(|v| ValueKind::from_u8(*v)), + RawValueContent::OwnedValueBody(value_kind, _) => Some(*value_kind), + } + } + + fn traverser_context(&self) -> (&[u8], ExpectedStart) { + match self { + RawValueContent::PayloadSlice(slice) => { + (slice, ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX)) + } + RawValueContent::ValueSlice(slice) => (slice, ExpectedStart::Value), + RawValueContent::ValueBodySlice(value_kind, slice) => { + (slice, ExpectedStart::ValueBody(*value_kind)) + } + RawValueContent::OwnedPayload(vec) => { + (vec, ExpectedStart::PayloadPrefix(E::PAYLOAD_PREFIX)) + } + RawValueContent::OwnedValue(vec) => (vec, ExpectedStart::Value), + RawValueContent::OwnedValueBody(value_kind, vec) => { + (vec, ExpectedStart::ValueBody(*value_kind)) + } + } + } + + fn traverser(&self, max_depth: usize) -> VecTraverser { + let (slice, expected_start) = self.traverser_context(); + VecTraverser::::new(slice, max_depth, expected_start, true) + } + + fn typed_traverser<'s>( + &self, + max_depth: usize, + schema: &'s Schema, + type_id: LocalTypeId, + ) -> TypedTraverser<'_, 's, E> { + let (slice, expected_start) = self.traverser_context(); + TypedTraverser::new(slice, schema, type_id, max_depth, expected_start, true) + } +} + +impl<'a, E: CustomExtension> PartialEq for RawValue<'a, E> { + fn eq(&self, other: &Self) -> bool { + self.value_kind() == other.value_kind() && self.value_body() == other.value_body() + } +} + +impl<'a, E: CustomExtension> Eq for RawValue<'a, E> {} + +impl<'a, E: CustomExtension> PartialOrd for RawValue<'a, E> { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl<'a, E: CustomExtension> Ord for RawValue<'a, E> { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.value_kind() + .as_u8() + .cmp(&other.value_kind().as_u8()) + .then_with(|| self.value_body().cmp(other.value_body())) + } +} + +impl<'a, E: CustomExtension> Hash for RawValue<'a, E> { + fn hash(&self, state: &mut H) { + self.value_kind().as_u8().hash(state); + self.value_body().hash(state); } } @@ -211,11 +1032,11 @@ impl> Encode { fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError> { - encoder.write_value_kind(self.value_kind) + encoder.write_value_kind(self.value_kind()) } fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError> { - encoder.write_slice(self.value_body.as_ref()) + encoder.write_slice(self.value_body()) } } @@ -235,7 +1056,7 @@ impl> Decode: Sized { Ok(()) } + fn write_deeper_byte(&mut self, b: u8) -> Result<(), EncodeError>; + fn write_byte(&mut self, n: u8) -> Result<(), EncodeError>; fn write_slice(&mut self, slice: &[u8]) -> Result<(), EncodeError>; + + fn write_deeper_slice(&mut self, slice: &[u8]) -> Result<(), EncodeError>; } /// An `Encoder` abstracts the logic for writing core types into a byte buffer. @@ -162,6 +166,13 @@ impl<'a, X: CustomValueKind> Encoder for VecEncoder<'a, X> { self.track_stack_depth_decrease() } + #[inline] + fn write_deeper_byte(&mut self, n: u8) -> Result<(), EncodeError> { + self.track_stack_depth_increase()?; + self.buf.push(n); + self.track_stack_depth_decrease() + } + #[inline] fn write_byte(&mut self, n: u8) -> Result<(), EncodeError> { self.buf.push(n); @@ -173,6 +184,13 @@ impl<'a, X: CustomValueKind> Encoder for VecEncoder<'a, X> { self.buf.extend(slice); Ok(()) } + + #[inline] + fn write_deeper_slice(&mut self, slice: &[u8]) -> Result<(), EncodeError> { + self.track_stack_depth_increase()?; + self.write_slice(slice)?; + self.track_stack_depth_decrease() + } } #[cfg(test)] diff --git a/sbor/src/payload_validation/payload_validator.rs b/sbor/src/payload_validation/payload_validator.rs index d6b5743b152..abe3cd64780 100644 --- a/sbor/src/payload_validation/payload_validator.rs +++ b/sbor/src/payload_validation/payload_validator.rs @@ -104,16 +104,13 @@ macro_rules! numeric_validation_match { }}; } -pub fn validate_payload_against_schema<'s, E: ValidatableCustomExtension, T>( - payload: &[u8], - schema: &'s Schema, - id: LocalTypeId, +pub fn validate_typed_traverser<'de, 's, E: ValidatableCustomExtension, T>( + typed_traverser: &mut TypedTraverser<'de, 's, E>, context: &T, - depth_limit: usize, ) -> Result<(), LocatedValidationError<'s, E>> { - let mut traverser = traverse_payload_with_types::(payload, &schema, id, depth_limit); + let schema = typed_traverser.schema(); loop { - let typed_event = traverser.next_event(); + let typed_event = typed_traverser.next_event(); if validate_event_with_type::(&schema, &typed_event.event, context).map_err( |error| LocatedValidationError { error, @@ -325,18 +322,12 @@ mod tests { pub fn identical_length_vec_and_array_are_interchangeable() { let (type_id, schema) = generate_full_schema_from_single_type::(); - let payload = basic_encode(&TestStructVec { + let payload = basic_encode_to_payload(&TestStructVec { x: Vec::from([0; 16]), }) .unwrap(); - let result = validate_payload_against_schema::( - &payload, - schema.v1(), - type_id, - &mut (), - 64, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &()); assert!(result.is_ok()) } @@ -344,18 +335,12 @@ mod tests { pub fn longer_length_vec_is_not_interchangeable_with_array() { let (type_id, schema) = generate_full_schema_from_single_type::(); - let payload = basic_encode(&TestStructVec { + let payload = basic_encode_to_payload(&TestStructVec { x: Vec::from([0; 17]), }) .unwrap(); - let result = validate_payload_against_schema::( - &payload, - schema.v1(), - type_id, - &mut (), - 64, - ); + let result = payload.validate_against_type(schema.v1(), type_id, &()); assert!(matches!( result, Err(LocatedValidationError { @@ -430,16 +415,12 @@ mod tests { }; x.recursive_struct = Some(Box::new(x.clone())); - let bytes = basic_encode(&x).unwrap(); let (type_id, schema) = generate_full_schema_from_single_type::(); - let result = validate_payload_against_schema::( - &bytes, - schema.v1(), - type_id, - &mut (), - 64, - ); + let result = + basic_encode_to_payload(&x) + .unwrap() + .validate_against_type(schema.v1(), type_id, &()); assert!(result.is_ok()) } @@ -469,26 +450,17 @@ mod tests { type_validations: vec![t0.validation, t1.validation], }; + let payload = basic_encode_to_payload(&vec![5u8]).unwrap(); assert_eq!( - validate_payload_against_schema::( - &basic_encode(&vec![5u8]).unwrap(), - &schema, - LocalTypeId::SchemaLocalIndex(0), - &mut (), - 64 - ), + payload.validate_against_type(&schema, LocalTypeId::SchemaLocalIndex(0), &(),), Ok(()) ); + let payload = basic_encode_to_payload(&vec![8u8]).unwrap(); assert_eq!( - validate_payload_against_schema::( - &basic_encode(&vec![8u8]).unwrap(), - &schema, - LocalTypeId::SchemaLocalIndex(0), - &mut (), - 64 - ) - .map_err(|e| e.error), + payload + .validate_against_type(&schema, LocalTypeId::SchemaLocalIndex(0), &(),) + .map_err(|e| e.error), Err(PayloadValidationError::ValidationError( ValidationError::U8ValidationError { required: NumericValidation { @@ -500,15 +472,11 @@ mod tests { )) ); + let payload = basic_encode_to_payload(&vec![5u8, 5u8]).unwrap(); assert_eq!( - validate_payload_against_schema::( - &basic_encode(&vec![5u8, 5u8]).unwrap(), - &schema, - LocalTypeId::SchemaLocalIndex(0), - &mut (), - 64 - ) - .map_err(|e| e.error), + payload + .validate_against_type(&schema, LocalTypeId::SchemaLocalIndex(0), &(),) + .map_err(|e| e.error), Err(PayloadValidationError::ValidationError( ValidationError::LengthValidationError { required: LengthValidation { @@ -562,17 +530,12 @@ mod tests { }; let payload = basic_encode(&value).unwrap(); // We cut off the payload to get a decode error near the end of the encoding! - let cut_off_payload = &payload[0..payload.len() - 2]; + let cut_off_payload = + BasicRawPayload::from_valid_payload_slice(&payload[0..payload.len() - 2]); let (type_id, schema) = generate_full_schema_from_single_type::(); - let Err(error) = validate_payload_against_schema::( - &cut_off_payload, - schema.v1(), - type_id, - &mut (), - 64, - ) else { + let Err(error) = cut_off_payload.validate_against_type(schema.v1(), type_id, &()) else { panic!("Validation did not error with too short a payload"); }; let path_message = error.location.path_to_string(schema.v1()); @@ -601,12 +564,10 @@ mod tests { ) { let (type_id, schema) = generate_full_schema_from_single_type::(); - let Err(error) = validate_payload_against_schema::( - &payload, + let Err(error) = BasicRawPayload::from_valid_payload(payload).validate_against_type( schema.v1(), type_id, - &mut (), - 64, + &(), ) else { panic!("Validation did not error with too short a payload"); }; diff --git a/sbor/src/representations/display/contextual_display.rs b/sbor/src/representations/display/contextual_display.rs index f8c50f741ad..d2123b16e7e 100644 --- a/sbor/src/representations/display/contextual_display.rs +++ b/sbor/src/representations/display/contextual_display.rs @@ -137,25 +137,9 @@ impl<'s, 'a, 'b, E: FormattableCustomExtension> ContextualDisplay( &self, f: &mut F, - options: &ValueDisplayParameters<'s, 'a, E>, + context: &ValueDisplayParameters<'s, 'a, E>, ) -> Result<(), Self::Error> { - let context = options.get_context_and_type_id(); - match context { - Context::Nested(context, type_id, depth_limit) => format_payload_as_nested_string( - f, - &context, - self.payload_bytes(), - type_id, - depth_limit, - ), - Context::RustLike(context, type_id, depth_limit) => format_payload_as_rustlike_value( - f, - &context, - self.payload_bytes(), - type_id, - depth_limit, - ), - } + self.as_value().contextual_format(f, context) } } @@ -174,7 +158,7 @@ impl<'s, 'a, 'b, E: FormattableCustomExtension> ContextualDisplay { format_partial_payload_as_nested_string( f, - self.value_body_bytes(), + self.value_body(), ExpectedStart::ValueBody(self.value_kind()), true, 0, @@ -186,7 +170,7 @@ impl<'s, 'a, 'b, E: FormattableCustomExtension> ContextualDisplay { format_partial_payload_as_rustlike_value( f, - self.value_body_bytes(), + self.value_body(), ExpectedStart::ValueBody(self.value_kind()), true, 0, diff --git a/sbor/src/representations/display/nested_string.rs b/sbor/src/representations/display/nested_string.rs index cde0e137cdf..217783e055d 100644 --- a/sbor/src/representations/display/nested_string.rs +++ b/sbor/src/representations/display/nested_string.rs @@ -585,7 +585,7 @@ mod tests { ], }, ); - let payload = basic_encode(&value).unwrap(); + let payload = basic_encode_to_payload(&value).unwrap(); let expected_annotated_single_line = r###"Tuple:MyComplexTupleStruct(Array(1u16, 2u16, 3u16), Array(), Array(), Array(Hex("010203")), Map(Enum:TestEnum<0u8:UnitVariant>(), Tuple:MyFieldStruct(field1 = 1u64, field2 = Array("hello")), Enum:TestEnum<1u8:SingleFieldVariant>(field = 1u8), Tuple:MyFieldStruct(field1 = 2u64, field2 = Array("world")), Enum:TestEnum<2u8:DoubleStructVariant>(field1 = 1u8, field2 = 2u8), Tuple:MyFieldStruct(field1 = 3u64, field2 = Array("!"))), Map("hello", Tuple:MyUnitStruct(), "world", Tuple:MyUnitStruct()), Enum:TestEnum<0u8:UnitVariant>(), Enum:TestEnum<1u8:SingleFieldVariant>(field = 1u8), Enum:TestEnum<2u8:DoubleStructVariant>(field1 = 3u8, field2 = 5u8), Tuple:MyFieldStruct(field1 = 21u64, field2 = Array("hello", "world!")), Array(Tuple:MyUnitStruct(), Tuple:MyUnitStruct()), Tuple(Enum<32u8>(), Enum<21u8>(-3i32)))"###; let display_context = ValueDisplayParameters::Annotated { @@ -596,10 +596,7 @@ mod tests { type_id, depth_limit: 64, }; - let actual_annotated_single_line = - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .to_string(display_context); + let actual_annotated_single_line = payload.to_string(display_context); // println!("{}", actual_annotated_single_line); assert_eq!( &actual_annotated_single_line, @@ -687,11 +684,7 @@ mod tests { type_id, depth_limit: 64, }; - let actual_annotated_multi_line = - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .to_string(display_context); - // println!("{}", actual_annotated_multi_line); + let actual_annotated_multi_line = payload.to_string(display_context); assert_eq!(&actual_annotated_multi_line, expected_annotated_multi_line,); } } diff --git a/sbor/src/representations/display/rustlike_string.rs b/sbor/src/representations/display/rustlike_string.rs index 7a438b77ad9..b003af95c6b 100644 --- a/sbor/src/representations/display/rustlike_string.rs +++ b/sbor/src/representations/display/rustlike_string.rs @@ -590,7 +590,7 @@ mod tests { ], }, ); - let payload = basic_encode(&value).unwrap(); + let payload = basic_encode_to_payload(&value).unwrap(); let expected_annotated_single_line = r###"MyComplexTupleStruct([1u16, 2u16, 3u16], [], hex(""), hex("010203"), { TestEnum::UnitVariant => MyFieldStruct { field1: 1u64, field2: ["hello"] }, TestEnum::SingleFieldVariant { field: 1u8 } => MyFieldStruct { field1: 2u64, field2: ["world"] }, TestEnum::DoubleStructVariant { field1: 1u8, field2: 2u8 } => MyFieldStruct { field1: 3u64, field2: ["!"] } }, { "hello" => MyUnitStruct, "world" => MyUnitStruct }, TestEnum::UnitVariant, TestEnum::SingleFieldVariant { field: 1u8 }, TestEnum::DoubleStructVariant { field1: 3u8, field2: 5u8 }, MyFieldStruct { field1: 21u64, field2: ["hello", "world!"] }, [MyUnitStruct, MyUnitStruct], Tuple(Enum::[32], Enum::[21](-3i32)))"###; let display_context = ValueDisplayParameters::Annotated { @@ -602,9 +602,7 @@ mod tests { depth_limit: 64, }; assert_eq!( - &BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .to_string(display_context), + &payload.to_string(display_context), expected_annotated_single_line, ); @@ -685,9 +683,7 @@ mod tests { depth_limit: 64, }; assert_eq!( - &BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .to_string(display_context), + &payload.to_string(display_context), expected_annotated_multi_line, ); } diff --git a/sbor/src/representations/serde_serialization/contextual_serialize.rs b/sbor/src/representations/serde_serialization/contextual_serialize.rs index f04148759bd..670099b8ca9 100644 --- a/sbor/src/representations/serde_serialization/contextual_serialize.rs +++ b/sbor/src/representations/serde_serialization/contextual_serialize.rs @@ -63,14 +63,7 @@ impl<'s, 'a, 'b, E: SerializableCustomExtension> serializer: S, context: &SerializationParameters<'s, 'a, E>, ) -> Result { - let (context, type_id, depth_limit) = context.get_context_params(); - serialize_payload( - serializer, - self.payload_bytes(), - &context, - type_id, - depth_limit, - ) + self.as_value().contextual_serialize(serializer, context) } } @@ -85,7 +78,7 @@ impl<'s, 'a, 'b, E: SerializableCustomExtension> let (context, type_id, depth_limit) = context.get_context_params(); serialize_partial_payload( serializer, - self.value_body_bytes(), + self.value_body(), ExpectedStart::ValueBody(self.value_kind()), true, 0, diff --git a/sbor/src/representations/serde_serialization/serde_serializer.rs b/sbor/src/representations/serde_serialization/serde_serializer.rs index a9720ae4467..0700aa6c5d7 100644 --- a/sbor/src/representations/serde_serialization/serde_serializer.rs +++ b/sbor/src/representations/serde_serialization/serde_serializer.rs @@ -69,20 +69,6 @@ pub struct SerializationContext<'s, 'a, E: SerializableCustomExtension> { pub custom_context: E::CustomDisplayContext<'a>, } -pub(crate) fn serialize_payload( - serializer: S, - payload: &[u8], - context: &SerializationContext<'_, '_, E>, - type_id: LocalTypeId, - depth_limit: usize, -) -> Result { - let mut traverser = traverse_payload_with_types(payload, context.schema, type_id, depth_limit); - let success = - serialize_value_tree::(serializer, &mut traverser, context, &ValueContext::Default)?; - consume_end_event::(&mut traverser)?; - Ok(success) -} - pub(crate) fn serialize_partial_payload( serializer: S, partial_payload: &[u8], @@ -796,15 +782,13 @@ mod tests { ] ]); - let payload = basic_encode(&value).unwrap(); + let payload = basic_encode_to_payload(&value).unwrap(); assert_json_eq( - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .serializable(SerializationParameters::Schemaless { - mode: SerializationMode::Natural, - custom_context: (), - depth_limit: 64, - }), + payload.serializable(SerializationParameters::Schemaless { + mode: SerializationMode::Natural, + custom_context: (), + depth_limit: 64, + }), expected_simple, ); } @@ -884,7 +868,7 @@ mod tests { ], }, ); - let payload = basic_encode(&value).unwrap(); + let payload = basic_encode_to_payload(&value).unwrap(); let expected_programmatic = json!({ "kind": "Tuple", @@ -1168,15 +1152,13 @@ mod tests { }); assert_json_eq( - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .serializable(SerializationParameters::WithSchema { - mode: SerializationMode::Programmatic, - schema: schema.v1(), - custom_context: (), - type_id, - depth_limit: 64, - }), + payload.serializable(SerializationParameters::WithSchema { + mode: SerializationMode::Programmatic, + schema: schema.v1(), + custom_context: (), + type_id, + depth_limit: 64, + }), expected_programmatic, ); @@ -1214,15 +1196,13 @@ mod tests { ]); assert_json_eq( - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .serializable(SerializationParameters::WithSchema { - mode: SerializationMode::Natural, - schema: schema.v1(), - custom_context: (), - type_id, - depth_limit: 64, - }), + payload.serializable(SerializationParameters::WithSchema { + mode: SerializationMode::Natural, + schema: schema.v1(), + custom_context: (), + type_id, + depth_limit: 64, + }), expected_natural, ); @@ -1453,15 +1433,13 @@ mod tests { }); assert_json_eq( - BasicRawPayload::new_from_valid_slice_with_checks(&payload) - .unwrap() - .serializable(SerializationParameters::WithSchema { - mode: SerializationMode::Model, - schema: schema.v1(), - custom_context: (), - type_id, - depth_limit: 64, - }), + payload.serializable(SerializationParameters::WithSchema { + mode: SerializationMode::Model, + schema: schema.v1(), + custom_context: (), + type_id, + depth_limit: 64, + }), expected_model, ); } diff --git a/sbor/src/schema/custom_traits.rs b/sbor/src/schema/custom_traits.rs index 09d41a6d22b..e88616d2b34 100644 --- a/sbor/src/schema/custom_traits.rs +++ b/sbor/src/schema/custom_traits.rs @@ -58,6 +58,7 @@ pub trait CustomSchema: Debug + Clone + Copy + PartialEq + Eq + 'static { pub trait CustomExtension: Debug + Clone + PartialEq + Eq + 'static { const PAYLOAD_PREFIX: u8; + const DEFAULT_DEPTH_LIMIT: usize; type CustomValueKind: CustomValueKind; diff --git a/sbor/src/traversal/typed/typed_traverser.rs b/sbor/src/traversal/typed/typed_traverser.rs index 3f4aff75105..23c45f3bc5b 100644 --- a/sbor/src/traversal/typed/typed_traverser.rs +++ b/sbor/src/traversal/typed/typed_traverser.rs @@ -133,6 +133,10 @@ impl<'de, 's, E: CustomExtension> TypedTraverser<'de, 's, E> { } } + pub fn schema(&self) -> &'s Schema { + self.state.schema + } + pub fn next_event(&mut self) -> TypedLocatedTraversalEvent<'_, 's, 'de, E> { let (typed_event, location) = Self::next_event_internal(&mut self.traverser, &mut self.state); diff --git a/sbor/src/traversal/untyped/traverser.rs b/sbor/src/traversal/untyped/traverser.rs index 1ecac14a496..7fb36b181ad 100644 --- a/sbor/src/traversal/untyped/traverser.rs +++ b/sbor/src/traversal/untyped/traverser.rs @@ -11,20 +11,13 @@ pub fn calculate_value_tree_body_byte_length<'de, 's, E: CustomExtension>( current_depth: usize, depth_limit: usize, ) -> Result { - let mut traverser = VecTraverser::::new( + VecTraverser::::new( partial_payload, depth_limit - current_depth, ExpectedStart::ValueBody(value_kind), false, - ); - loop { - let next_event = traverser.next_event(); - match next_event.event { - TraversalEvent::End => return Ok(next_event.location.end_offset), - TraversalEvent::DecodeError(decode_error) => return Err(decode_error), - _ => {} - } - } + ) + .traverse_to_end() } pub trait CustomTraversal: Copy + Debug + Clone + PartialEq + Eq { @@ -176,6 +169,22 @@ impl<'de, T: CustomTraversal> VecTraverser<'de, T> { } } + /// Returns the end's offset relative to the start of the input slice + pub fn traverse_to_end(mut self) -> Result { + loop { + let event = self.next_event(); + match event.event { + TraversalEvent::DecodeError(e) => { + return Err(e); + } + TraversalEvent::End => { + return Ok(event.location.end_offset); + } + _ => {} + } + } + } + pub fn next_event<'t>(&'t mut self) -> LocatedTraversalEvent<'t, 'de, T> { match self.next_event_override { NextEventOverride::ReadPrefix(expected_prefix) => { diff --git a/scrypto-test/src/environment/builder.rs b/scrypto-test/src/environment/builder.rs index 8312e27db5e..3acca5dc43d 100644 --- a/scrypto-test/src/environment/builder.rs +++ b/scrypto-test/src/environment/builder.rs @@ -147,7 +147,7 @@ where } }) .flat_map(|value| { - IndexedScryptoValue::from_slice(value) + IndexedScryptoValue::from_untrusted_payload_slice(value) .unwrap() .references() .clone() diff --git a/scrypto-test/src/environment/env.rs b/scrypto-test/src/environment/env.rs index 3ae4f4bb88d..2031998c819 100644 --- a/scrypto-test/src/environment/env.rs +++ b/scrypto-test/src/environment/env.rs @@ -690,7 +690,7 @@ where // Read let state = kernel.kernel_read_substate(handle).map(|v| { let FieldSubstate::::V1(FieldSubstateV1 { payload, .. }) = - v.as_typed().unwrap(); + v.into_typed().unwrap(); scrypto_encode(&payload).unwrap() })?; diff --git a/scrypto-test/src/environment/system_api.rs b/scrypto-test/src/environment/system_api.rs index 00089e9ae74..6ab6efcd730 100644 --- a/scrypto-test/src/environment/system_api.rs +++ b/scrypto-test/src/environment/system_api.rs @@ -119,7 +119,7 @@ implement_system_api! { actor_emit_event: ( &mut self, event_name: String, - event_data: Vec, + event_data: ScryptoUnvalidatedRawPayload, event_flags: EventFlags, ) -> Result<(), RuntimeError> }, @@ -128,63 +128,63 @@ implement_system_api! { &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - buffer: Vec, + key: ScryptoUnvalidatedRawValue, + buffer: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError>, actor_index_remove: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: Vec, - ) -> Result>, RuntimeError>, + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError>, actor_index_scan_keys: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result>, RuntimeError>, + ) -> Result, RuntimeError>, actor_index_drain: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, limit: u32, - ) -> Result, Vec)>, RuntimeError>, + ) -> Result, RuntimeError>, }, SystemActorKeyValueEntryApi: { actor_open_key_value_entry: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result, actor_remove_key_value_entry: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - key: &Vec, - ) -> Result, RuntimeError>, + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError>, }, SystemActorSortedIndexApi: { actor_sorted_index_insert: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: SortedKey, - buffer: Vec, + sorted_key: UnvalidatedSortedKey, + buffer: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError>, actor_sorted_index_remove: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, - sorted_key: &SortedKey, - ) -> Result>, RuntimeError>, + sorted_key: UnvalidatedSortedKey, + ) -> Result, RuntimeError>, actor_sorted_index_scan: ( &mut self, object_handle: ActorStateHandle, collection_index: CollectionIndex, count: u32, - ) -> Result)>, RuntimeError>, + ) -> Result, RuntimeError>, }, SystemBlueprintApi: { call_function: ( @@ -200,19 +200,19 @@ implement_system_api! { ) -> Result<(Rc, ScopedTypeId), RuntimeError> }, SystemFieldApi: { - field_read: (&mut self, handle: field_api::FieldHandle) -> Result, RuntimeError>, - field_write: (&mut self, handle: FieldHandle, buffer: Vec) -> Result<(), RuntimeError>, + field_read: (&mut self, handle: field_api::FieldHandle) -> Result, + field_write: (&mut self, handle: FieldHandle, buffer: ScryptoUnvalidatedRawValue) -> Result<(), RuntimeError>, field_lock: (&mut self, handle: FieldHandle) -> Result<(), RuntimeError>, field_close: (&mut self, handle: FieldHandle) -> Result<(), RuntimeError> }, SystemKeyValueEntryApi: { - key_value_entry_get: (&mut self, handle: KeyValueEntryHandle) -> Result, RuntimeError>, + key_value_entry_get: (&mut self, handle: KeyValueEntryHandle) -> Result, RuntimeError>, key_value_entry_set: ( &mut self, handle: KeyValueEntryHandle, - buffer: Vec, + buffer: ScryptoUnvalidatedRawValue, ) -> Result<(), RuntimeError>, - key_value_entry_remove: (&mut self, handle: KeyValueEntryHandle) -> Result, RuntimeError>, + key_value_entry_remove: (&mut self, handle: KeyValueEntryHandle) -> Result, RuntimeError>, key_value_entry_lock: (&mut self, handle: KeyValueEntryHandle) -> Result<(), RuntimeError>, key_value_entry_close: (&mut self, handle: KeyValueEntryHandle) -> Result<(), RuntimeError>, }, @@ -221,14 +221,14 @@ implement_system_api! { key_value_store_open_entry: ( &mut self, node_id: &NodeId, - key: &Vec, + key: ScryptoUnvalidatedRawValue, flags: LockFlags, ) -> Result, key_value_store_remove_entry: ( &mut self, node_id: &NodeId, - key: &Vec, - ) -> Result, RuntimeError>, + key: ScryptoUnvalidatedRawValue, + ) -> Result, RuntimeError>, }, SystemObjectApi: { new_object: ( @@ -266,7 +266,7 @@ implement_system_api! { inner_object_blueprint: &str, inner_object_fields: IndexMap, event_name: &str, - event_data: Vec, + event_data: ScryptoUnvalidatedOwnedRawPayload, ) -> Result<(GlobalAddress, NodeId), RuntimeError>, call_method: ( &mut self, diff --git a/scrypto-test/src/ledger_simulator/inject_costing_err.rs b/scrypto-test/src/ledger_simulator/inject_costing_err.rs index 23362573bf8..7902e0b95a5 100644 --- a/scrypto-test/src/ledger_simulator/inject_costing_err.rs +++ b/scrypto-test/src/ledger_simulator/inject_costing_err.rs @@ -269,7 +269,7 @@ impl KernelCallbackObject for InjectCostingError { fn invoke_upstream( args: &IndexedScryptoValue, api: &mut Y, - ) -> Result + ) -> Result where Y: KernelApi, { @@ -399,7 +399,7 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> .kernel_mark_substate_as_transient(node_id, partition_num, key) } - fn kernel_open_substate_with_default IndexedScryptoValue>( + fn kernel_open_substate_with_default IndexedOwnedScryptoValue>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, @@ -432,14 +432,14 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> fn kernel_read_substate( &mut self, lock_handle: SubstateHandle, - ) -> Result<&IndexedScryptoValue, RuntimeError> { + ) -> Result<&IndexedOwnedScryptoValue, RuntimeError> { self.api.kernel_read_substate(lock_handle) } fn kernel_write_substate( &mut self, lock_handle: SubstateHandle, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { self.api.kernel_write_substate(lock_handle, value) } @@ -449,7 +449,7 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, - value: IndexedScryptoValue, + value: IndexedOwnedScryptoValue, ) -> Result<(), RuntimeError> { self.api .kernel_set_substate(node_id, partition_num, substate_key, value) @@ -460,7 +460,7 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_remove_substate(node_id, partition_num, substate_key) } @@ -470,7 +470,7 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> node_id: &NodeId, partition_num: PartitionNumber, count: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_scan_sorted_substates(node_id, partition_num, count) } @@ -490,7 +490,7 @@ impl<'a, M: SystemCallbackObject, Y: KernelApi>> node_id: &NodeId, partition_num: PartitionNumber, count: u32, - ) -> Result, RuntimeError> { + ) -> Result, RuntimeError> { self.api .kernel_drain_substates::(node_id, partition_num, count) } diff --git a/scrypto-test/src/ledger_simulator/ledger_simulator.rs b/scrypto-test/src/ledger_simulator/ledger_simulator.rs index fca8bd49b64..19e2ac76bee 100644 --- a/scrypto-test/src/ledger_simulator/ledger_simulator.rs +++ b/scrypto-test/src/ledger_simulator/ledger_simulator.rs @@ -19,24 +19,15 @@ use radix_engine::vm::wasm::{DefaultWasmEngine, WasmValidatorConfigV1}; use radix_engine::vm::{NativeVmExtension, NoExtension, ScryptoVm, Vm}; use radix_engine_interface::api::ModuleId; use radix_engine_interface::blueprints::account::ACCOUNT_SECURIFY_IDENT; -use radix_engine_interface::blueprints::consensus_manager::{ - ConsensusManagerConfig, ConsensusManagerGetCurrentEpochInput, - ConsensusManagerGetCurrentTimeInputV2, ConsensusManagerNextRoundInput, EpochChangeCondition, - LeaderProposalHistory, CONSENSUS_MANAGER_GET_CURRENT_EPOCH_IDENT, - CONSENSUS_MANAGER_GET_CURRENT_TIME_IDENT, CONSENSUS_MANAGER_NEXT_ROUND_IDENT, - VALIDATOR_STAKE_AS_OWNER_IDENT, -}; +use radix_engine_interface::blueprints::consensus_manager::*; use radix_engine_interface::blueprints::pool::{ OneResourcePoolInstantiateManifestInput, ONE_RESOURCE_POOL_INSTANTIATE_IDENT, }; use radix_engine_interface::prelude::{dec, freeze_roles, rule}; use radix_substate_store_impls::memory_db::InMemorySubstateDatabase; use radix_substate_store_impls::state_tree_support::StateTreeUpdatingDatabase; -use radix_substate_store_interface::db_key_mapper::SpreadPrefixKeyMapper; -use radix_substate_store_interface::db_key_mapper::{DatabaseKeyMapper, MappedSubstateDatabase}; -use radix_substate_store_interface::interface::{ - CommittableSubstateDatabase, DatabaseUpdate, ListableSubstateDatabase, SubstateDatabase, -}; +use radix_substate_store_interface::db_key_mapper::*; +use radix_substate_store_interface::interface::*; use radix_substate_store_queries::query::{ResourceAccounter, StateTreeTraverser, VaultFinder}; use radix_substate_store_queries::typed_native_events::to_typed_native_event; use radix_substate_store_queries::typed_substate_layout::*; @@ -418,7 +409,7 @@ pub struct LedgerSimulator { next_transaction_nonce: u32, /// Events collected from all the committed transactions - collected_events: Vec)>>, + collected_events: Vec>, /// Track whether any of the committed transaction has used free credit xrd_free_credits_used: bool, @@ -440,7 +431,7 @@ pub struct LedgerSimulatorSnapshot { database: InMemorySubstateDatabase, next_private_key: u64, next_transaction_nonce: u32, - collected_events: Vec)>>, + collected_events: Vec>, xrd_free_credits_used: bool, with_kernel_trace: bool, with_receipt_substate_check: bool, @@ -483,7 +474,7 @@ impl LedgerSimulator { &mut self.database } - pub fn collected_events(&self) -> &Vec)>> { + pub fn collected_events(&self) -> &Vec> { self.collected_events.as_ref() } @@ -655,9 +646,8 @@ impl LedgerSimulator { ) .unwrap() .map(|(key, value)| { - let key = key.into_map(); - let hash: SchemaHash = scrypto_decode(&key).unwrap(); - let schema: PackageSchemaEntryPayload = scrypto_decode(&value).unwrap(); + let hash: SchemaHash = key.into_map().decode_as().unwrap(); + let schema: PackageSchemaEntryPayload = value.decode_as().unwrap(); (hash, schema.into_content()) }) .collect() @@ -677,9 +667,9 @@ impl LedgerSimulator { .unwrap() .map(|(key, value)| { let map_key = key.into_map(); - let key: BlueprintVersionKey = scrypto_decode(&map_key).unwrap(); + let key: BlueprintVersionKey = map_key.decode_as().unwrap(); let definition: PackageBlueprintVersionDefinitionEntryPayload = - scrypto_decode(&value).unwrap(); + value.decode_as().unwrap(); (key, definition.fully_update_and_into_latest_version()) }) .collect() @@ -764,11 +754,7 @@ impl LedgerSimulator { NonFungibleVaultCollection::NonFungibleIndex.collection_index(), ) .unwrap() - .map(|(key, _)| { - let map_key = key.into_map(); - let id: NonFungibleLocalId = scrypto_decode(&map_key).unwrap(); - id - }) + .map(|(key, _)| key.into_map().decode_as().unwrap()) .collect(); Some((amount, Box::new(iter.into_iter()))) @@ -2303,7 +2289,7 @@ impl LedgerSimulator { .application_events .iter() .filter(|(id, _data)| self.is_event_name_equal::(id)) - .map(|(_id, data)| scrypto_decode::(data).unwrap()) + .map(|(_id, data)| data.decode_as().unwrap()) .collect::>() } diff --git a/scrypto-test/src/sdk/resource/bucket_factory.rs b/scrypto-test/src/sdk/resource/bucket_factory.rs index ab6189811fa..fe64bd8d679 100644 --- a/scrypto-test/src/sdk/resource/bucket_factory.rs +++ b/scrypto-test/src/sdk/resource/bucket_factory.rs @@ -104,10 +104,10 @@ impl BucketFactory { NON_FUNGIBLE_RESOURCE_MANAGER_MINT_IDENT, |env| { for (local_id, data) in non_fungibles.iter() { - let non_fungible_handle = env.actor_open_key_value_entry( + let non_fungible_handle = env.actor_open_key_value_entry_typed( ACTOR_STATE_SELF, NonFungibleResourceManagerCollection::DataKeyValue.collection_index(), - &local_id.to_key(), + &local_id, LockFlags::MUTABLE, )?; diff --git a/scrypto-test/src/sdk/resource/resource_builder.rs b/scrypto-test/src/sdk/resource/resource_builder.rs index 87d4dd8c1a6..0617c32f62a 100644 --- a/scrypto-test/src/sdk/resource/resource_builder.rs +++ b/scrypto-test/src/sdk/resource/resource_builder.rs @@ -841,7 +841,7 @@ impl entries: entries .into_iter() .map(|data| { - let value: ScryptoValue = + let value: ScryptoOwnedRawValue = scrypto_decode(&scrypto_encode(&data).unwrap()).unwrap(); (value,) }) @@ -864,11 +864,12 @@ impl fn map_entries, V: NonFungibleData, Y: IsNonFungibleLocalId>( entries: T, -) -> IndexMap { +) -> IndexMap { entries .into_iter() .map(|(id, data)| { - let value: ScryptoValue = scrypto_decode(&scrypto_encode(&data).unwrap()).unwrap(); + let value: ScryptoOwnedRawValue = + scrypto_decode(&scrypto_encode(&data).unwrap()).unwrap(); (id.into(), (value,)) }) .collect() From 21877ebfe038c387ff315ec7367b8f690af73c01 Mon Sep 17 00:00:00 2001 From: David Edey Date: Sat, 27 Jul 2024 00:18:01 +0100 Subject: [PATCH 02/10] =?UTF-8?q?fix:=20Fix=20the=20`=E2=94=94`=20in=20gen?= =?UTF-8?q?erated=20scenario=20receipts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../001--account-authorized-depositors-configure-accounts.txt | 2 +- ...2--account-authorized-depositors-attempt-deposit-success.txt | 2 +- ...positors-attempt-deposit-failure-if-badge-is-not-present.txt | 2 +- ...-deposit-failure-if-badge-is-not-an-authorized-depositor.txt | 2 +- .../fungible_resource/receipts/001--fungible-max-div-create.txt | 2 +- .../fungible_resource/receipts/002--fungible-max-div-mint.txt | 2 +- .../fungible_resource/receipts/003--fungible-max-div-burn.txt | 2 +- .../receipts/004--fungible-max-div-transfer-32-times.txt | 2 +- .../receipts/005--fungible-max-div-freeze-withdraw.txt | 2 +- .../receipts/006--fungible-max-div-freeze-deposit.txt | 2 +- .../receipts/007--fungible-max-div-freeze-burn.txt | 2 +- .../receipts/008--fungible-max-div-recall-frozen-vault.txt | 2 +- .../receipts/009--fungible-max-div-unfreeze-withdraw.txt | 2 +- .../receipts/010--fungible-max-div-unfreeze-deposit.txt | 2 +- .../receipts/011--fungible-max-div-unfreeze-burn.txt | 2 +- .../receipts/012--fungible-max-div-recall-unfrozen-vault.txt | 2 +- .../receipts/013--fungible-max-div-freeze-withdraw-again.txt | 2 +- .../fungible_resource/receipts/014--fungible-min-div-create.txt | 2 +- .../receipts/015--fungible-min-div-mint-correct-granularity.txt | 2 +- .../receipts/016--fungible-min-div-mint-wrong-granularity.txt | 2 +- .../017--fungible-min-div-transfer-correct-granularity.txt | 2 +- .../018--fungible-min-div-transfer-wrong-granularity.txt | 2 +- .../019--fungible-min-div-create-proof-correct-granularity.txt | 2 +- .../020--fungible-min-div-create-proof-wrong-granularity.txt | 2 +- .../021--fungible-min-div-recall-correct-granularity.txt | 2 +- .../receipts/022--fungible-min-div-recall-wrong-granularity.txt | 2 +- .../receipts/001--global_n_owned_emitting_events.txt | 2 +- .../receipts/001--kv-store-with-remote-type.txt | 2 +- .../receipts/001--max_transaction-publish-package.txt | 2 +- .../receipts/002--max_transaction-with-large-events.txt | 2 +- .../receipts/003--max_transaction-with-large-state-updates.txt | 2 +- .../receipts/001--metadata-create-package-with-metadata.txt | 2 +- .../receipts/002--metadata-create-component-with-metadata.txt | 2 +- .../receipts/003--metadata-create-resource-with-metadata.txt | 2 +- ...-metadata-create-resource-with-metadata-partially-locked.txt | 2 +- .../005--metadata-update-initially-locked-metadata-fails.txt | 2 +- .../006--metadata-update-updatable-metadata-succeeds.txt | 2 +- .../anemone/metadata/receipts/007--metadata-lock-metadata.txt | 2 +- ...008--metadata-set-metadata-on-dashboard-account-succeeds.txt | 2 +- .../009--metadata-set-metadata-on-sandbox-account-succeeds.txt | 2 +- .../010--metadata-update-recently-locked-metadata-fails.txt | 2 +- .../receipts/001--non-fungible-resource-create.txt | 2 +- .../receipts/002--non-fungible-resource-create-string.txt | 2 +- .../receipts/003--non-fungible-resource-create-bytes.txt | 2 +- .../receipts/004--non-fungible-resource-create-ruid.txt | 2 +- .../receipts/005--non-fungible-resource-mint-32-nfts.txt | 2 +- .../receipts/006--non-fungible-resource-burn.txt | 2 +- .../receipts/007--non-fungible-resource-transfer.txt | 2 +- .../receipts/008--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/009--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/010--non-fungible-resource-recall-frozen-vault.txt | 2 +- .../receipts/011--non-fungible-resource-unfreeze-withdraw.txt | 2 +- .../receipts/012--non-fungible-resource-unfreeze-deposit.txt | 2 +- .../receipts/013--non-fungible-resource-unfreeze-burn.txt | 2 +- .../014--non-fungible-resource-recall-unfrozen-vault.txt | 2 +- ...non-fungible-create-resource-with-supply-with-empty-data.txt | 2 +- ...-create-resource-with-supply-with-metadata-standard-data.txt | 2 +- .../017--non-fungible-transfer-metadata-standard-nfs.txt | 2 +- ...n-fungible-create-resource-with-supply-with-complex-data.txt | 2 +- .../receipts/019--non-fungible-mutate-data.txt | 2 +- ...001--non-fungible-resource-with-remote-type-registration.txt | 2 +- .../receipts/002--non-fungible-resource-with-remote-type.txt | 2 +- .../radiswap/receipts/001--radiswap-create-new-resources.txt | 2 +- ...-radiswap-create-owner-badge-and-dapp-definition-account.txt | 2 +- .../receipts/003--radiswap-publish-and-create-pools.txt | 2 +- .../anemone/radiswap/receipts/004--radiswap-add-liquidity.txt | 2 +- .../radiswap/receipts/005--radiswap-distribute-tokens.txt | 2 +- .../anemone/radiswap/receipts/006--radiswap-swap-tokens.txt | 2 +- .../anemone/radiswap/receipts/007--radiswap-remove-tokens.txt | 2 +- .../radiswap/receipts/008--radiswap-set-two-way-linking.txt | 2 +- .../royalties/receipts/001--royalties--publish-package.txt | 2 +- .../receipts/002--royalties--instantiate-components.txt | 2 +- .../receipts/003--royalties--set-components-royalty.txt | 2 +- .../004--royalties--call_all_components_all_methods.txt | 2 +- .../anemone/transfer_xrd/receipts/001--faucet-top-up.txt | 2 +- .../receipts/002--transfer--try_deposit_or_abort.txt | 2 +- .../receipts/003--transfer--try_deposit_or_refund.txt | 2 +- .../receipts/004--transfer--try_deposit_batch_or_abort.txt | 2 +- .../receipts/005--transfer--try_deposit_batch_or_refund.txt | 2 +- .../transfer_xrd/receipts/006--self-transfer--deposit_batch.txt | 2 +- .../receipts/007--multi-transfer--deposit_batch.txt | 2 +- .../001--account-authorized-depositors-configure-accounts.txt | 2 +- ...2--account-authorized-depositors-attempt-deposit-success.txt | 2 +- ...positors-attempt-deposit-failure-if-badge-is-not-present.txt | 2 +- ...-deposit-failure-if-badge-is-not-an-authorized-depositor.txt | 2 +- .../fungible_resource/receipts/001--fungible-max-div-create.txt | 2 +- .../fungible_resource/receipts/002--fungible-max-div-mint.txt | 2 +- .../fungible_resource/receipts/003--fungible-max-div-burn.txt | 2 +- .../receipts/004--fungible-max-div-transfer-32-times.txt | 2 +- .../receipts/005--fungible-max-div-freeze-withdraw.txt | 2 +- .../receipts/006--fungible-max-div-freeze-deposit.txt | 2 +- .../receipts/007--fungible-max-div-freeze-burn.txt | 2 +- .../receipts/008--fungible-max-div-recall-frozen-vault.txt | 2 +- .../receipts/009--fungible-max-div-unfreeze-withdraw.txt | 2 +- .../receipts/010--fungible-max-div-unfreeze-deposit.txt | 2 +- .../receipts/011--fungible-max-div-unfreeze-burn.txt | 2 +- .../receipts/012--fungible-max-div-recall-unfrozen-vault.txt | 2 +- .../receipts/013--fungible-max-div-freeze-withdraw-again.txt | 2 +- .../fungible_resource/receipts/014--fungible-min-div-create.txt | 2 +- .../receipts/015--fungible-min-div-mint-correct-granularity.txt | 2 +- .../receipts/016--fungible-min-div-mint-wrong-granularity.txt | 2 +- .../017--fungible-min-div-transfer-correct-granularity.txt | 2 +- .../018--fungible-min-div-transfer-wrong-granularity.txt | 2 +- .../019--fungible-min-div-create-proof-correct-granularity.txt | 2 +- .../020--fungible-min-div-create-proof-wrong-granularity.txt | 2 +- .../021--fungible-min-div-recall-correct-granularity.txt | 2 +- .../receipts/022--fungible-min-div-recall-wrong-granularity.txt | 2 +- .../receipts/001--global_n_owned_emitting_events.txt | 2 +- .../receipts/001--kv-store-with-remote-type.txt | 2 +- .../receipts/001--max_transaction-publish-package.txt | 2 +- .../receipts/002--max_transaction-with-large-events.txt | 2 +- .../receipts/003--max_transaction-with-large-state-updates.txt | 2 +- .../receipts/001--metadata-create-package-with-metadata.txt | 2 +- .../receipts/002--metadata-create-component-with-metadata.txt | 2 +- .../receipts/003--metadata-create-resource-with-metadata.txt | 2 +- ...-metadata-create-resource-with-metadata-partially-locked.txt | 2 +- .../005--metadata-update-initially-locked-metadata-fails.txt | 2 +- .../006--metadata-update-updatable-metadata-succeeds.txt | 2 +- .../babylon/metadata/receipts/007--metadata-lock-metadata.txt | 2 +- ...008--metadata-set-metadata-on-dashboard-account-succeeds.txt | 2 +- .../009--metadata-set-metadata-on-sandbox-account-succeeds.txt | 2 +- .../010--metadata-update-recently-locked-metadata-fails.txt | 2 +- .../receipts/001--non-fungible-resource-create.txt | 2 +- .../receipts/002--non-fungible-resource-create-string.txt | 2 +- .../receipts/003--non-fungible-resource-create-bytes.txt | 2 +- .../receipts/004--non-fungible-resource-create-ruid.txt | 2 +- .../receipts/005--non-fungible-resource-mint-32-nfts.txt | 2 +- .../receipts/006--non-fungible-resource-burn.txt | 2 +- .../receipts/007--non-fungible-resource-transfer.txt | 2 +- .../receipts/008--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/009--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/010--non-fungible-resource-recall-frozen-vault.txt | 2 +- .../receipts/011--non-fungible-resource-unfreeze-withdraw.txt | 2 +- .../receipts/012--non-fungible-resource-unfreeze-deposit.txt | 2 +- .../receipts/013--non-fungible-resource-unfreeze-burn.txt | 2 +- .../014--non-fungible-resource-recall-unfrozen-vault.txt | 2 +- ...non-fungible-create-resource-with-supply-with-empty-data.txt | 2 +- ...-create-resource-with-supply-with-metadata-standard-data.txt | 2 +- .../017--non-fungible-transfer-metadata-standard-nfs.txt | 2 +- ...n-fungible-create-resource-with-supply-with-complex-data.txt | 2 +- .../receipts/019--non-fungible-mutate-data.txt | 2 +- ...001--non-fungible-resource-with-remote-type-registration.txt | 2 +- .../receipts/002--non-fungible-resource-with-remote-type.txt | 2 +- .../radiswap/receipts/001--radiswap-create-new-resources.txt | 2 +- ...-radiswap-create-owner-badge-and-dapp-definition-account.txt | 2 +- .../receipts/003--radiswap-publish-and-create-pools.txt | 2 +- .../babylon/radiswap/receipts/004--radiswap-add-liquidity.txt | 2 +- .../radiswap/receipts/005--radiswap-distribute-tokens.txt | 2 +- .../babylon/radiswap/receipts/006--radiswap-swap-tokens.txt | 2 +- .../babylon/radiswap/receipts/007--radiswap-remove-tokens.txt | 2 +- .../radiswap/receipts/008--radiswap-set-two-way-linking.txt | 2 +- .../royalties/receipts/001--royalties--publish-package.txt | 2 +- .../receipts/002--royalties--instantiate-components.txt | 2 +- .../receipts/003--royalties--set-components-royalty.txt | 2 +- .../004--royalties--call_all_components_all_methods.txt | 2 +- .../babylon/transfer_xrd/receipts/001--faucet-top-up.txt | 2 +- .../receipts/002--transfer--try_deposit_or_abort.txt | 2 +- .../receipts/003--transfer--try_deposit_or_refund.txt | 2 +- .../receipts/004--transfer--try_deposit_batch_or_abort.txt | 2 +- .../receipts/005--transfer--try_deposit_batch_or_refund.txt | 2 +- .../transfer_xrd/receipts/006--self-transfer--deposit_batch.txt | 2 +- .../receipts/007--multi-transfer--deposit_batch.txt | 2 +- .../receipts/001--access-controller-v2-instantiate.txt | 2 +- .../receipts/002--access-controller-v2-deposit-fees-xrd.txt | 2 +- .../receipts/003--access-controller-v2-lock-fee-and-recover.txt | 2 +- .../001--account-authorized-depositors-configure-accounts.txt | 2 +- ...2--account-authorized-depositors-attempt-deposit-success.txt | 2 +- ...positors-attempt-deposit-failure-if-badge-is-not-present.txt | 2 +- ...-deposit-failure-if-badge-is-not-an-authorized-depositor.txt | 2 +- .../receipts/001--account-locker-create-accounts.txt | 2 +- .../receipts/002--account-locker-create-account-locker.txt | 2 +- .../receipts/003--account-locker-create-resources.txt | 2 +- .../004--account-locker-setting-up-account-deposit-rules.txt | 2 +- ...nt-locker-send-fungibles-and-try-direct-deposit-succeeds.txt | 2 +- ...unt-locker-send-fungibles-and-try-direct-deposit-refunds.txt | 2 +- ...ccount-locker-send-fungibles-and-dont-try-direct-deposit.txt | 2 +- ...-account-locker-airdrop-fungibles-and-try-direct-deposit.txt | 2 +- ...unt-locker-airdrop-fungibles-and-dont-try-direct-deposit.txt | 2 +- ...ocker-send-non-fungibles-and-try-direct-deposit-succeeds.txt | 2 +- ...locker-send-non-fungibles-and-try-direct-deposit-refunds.txt | 2 +- ...nt-locker-send-non-fungibles-and-dont-try-direct-deposit.txt | 2 +- ...r-airdrop-non-fungibles-by-amount-and-try-direct-deposit.txt | 2 +- ...drop-non-fungibles-by-amount-and-dont-try-direct-deposit.txt | 2 +- ...cker-airdrop-non-fungibles-by-ids-and-try-direct-deposit.txt | 2 +- ...airdrop-non-fungibles-by-ids-and-dont-try-direct-deposit.txt | 2 +- ...nt-locker-global-caller-badge-is-an-authorized-depositor.txt | 2 +- .../receipts/018--account-locker-claim-fungibles-by-amount.txt | 2 +- .../019--account-locker-claim-non-fungibles-by-amount.txt | 2 +- .../receipts/020--account-locker-claim-non-fungibles-by-ids.txt | 2 +- .../021--account-locker-recover-fungibles-by-amount.txt | 2 +- .../022--account-locker-recover-non-fungibles-by-amount.txt | 2 +- .../023--account-locker-recover-non-fungibles-by-ids.txt | 2 +- .../fungible_resource/receipts/001--fungible-max-div-create.txt | 2 +- .../fungible_resource/receipts/002--fungible-max-div-mint.txt | 2 +- .../fungible_resource/receipts/003--fungible-max-div-burn.txt | 2 +- .../receipts/004--fungible-max-div-transfer-32-times.txt | 2 +- .../receipts/005--fungible-max-div-freeze-withdraw.txt | 2 +- .../receipts/006--fungible-max-div-freeze-deposit.txt | 2 +- .../receipts/007--fungible-max-div-freeze-burn.txt | 2 +- .../receipts/008--fungible-max-div-recall-frozen-vault.txt | 2 +- .../receipts/009--fungible-max-div-unfreeze-withdraw.txt | 2 +- .../receipts/010--fungible-max-div-unfreeze-deposit.txt | 2 +- .../receipts/011--fungible-max-div-unfreeze-burn.txt | 2 +- .../receipts/012--fungible-max-div-recall-unfrozen-vault.txt | 2 +- .../receipts/013--fungible-max-div-freeze-withdraw-again.txt | 2 +- .../fungible_resource/receipts/014--fungible-min-div-create.txt | 2 +- .../receipts/015--fungible-min-div-mint-correct-granularity.txt | 2 +- .../receipts/016--fungible-min-div-mint-wrong-granularity.txt | 2 +- .../017--fungible-min-div-transfer-correct-granularity.txt | 2 +- .../018--fungible-min-div-transfer-wrong-granularity.txt | 2 +- .../019--fungible-min-div-create-proof-correct-granularity.txt | 2 +- .../020--fungible-min-div-create-proof-wrong-granularity.txt | 2 +- .../021--fungible-min-div-recall-correct-granularity.txt | 2 +- .../receipts/022--fungible-min-div-recall-wrong-granularity.txt | 2 +- .../receipts/001--global_n_owned_emitting_events.txt | 2 +- .../receipts/001--kv-store-with-remote-type.txt | 2 +- .../receipts/001--max_transaction-publish-package.txt | 2 +- .../receipts/002--max_transaction-with-large-events.txt | 2 +- .../receipts/003--max_transaction-with-large-state-updates.txt | 2 +- .../maya_router/receipts/001--maya-router-create-accounts.txt | 2 +- .../bottlenose/maya_router/receipts/002--faucet-top-up.txt | 2 +- .../maya_router/receipts/003--maya-router-create-resources.txt | 2 +- .../receipts/004--maya-router-publish-and-instantiate.txt | 2 +- .../receipts/001--metadata-create-package-with-metadata.txt | 2 +- .../receipts/002--metadata-create-component-with-metadata.txt | 2 +- .../receipts/003--metadata-create-resource-with-metadata.txt | 2 +- ...-metadata-create-resource-with-metadata-partially-locked.txt | 2 +- .../005--metadata-update-initially-locked-metadata-fails.txt | 2 +- .../006--metadata-update-updatable-metadata-succeeds.txt | 2 +- .../metadata/receipts/007--metadata-lock-metadata.txt | 2 +- ...008--metadata-set-metadata-on-dashboard-account-succeeds.txt | 2 +- .../009--metadata-set-metadata-on-sandbox-account-succeeds.txt | 2 +- .../010--metadata-update-recently-locked-metadata-fails.txt | 2 +- .../receipts/001--non-fungible-resource-create.txt | 2 +- .../receipts/002--non-fungible-resource-create-string.txt | 2 +- .../receipts/003--non-fungible-resource-create-bytes.txt | 2 +- .../receipts/004--non-fungible-resource-create-ruid.txt | 2 +- .../receipts/005--non-fungible-resource-mint-32-nfts.txt | 2 +- .../receipts/006--non-fungible-resource-burn.txt | 2 +- .../receipts/007--non-fungible-resource-transfer.txt | 2 +- .../receipts/008--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/009--non-fungible-resource-freeze-deposit.txt | 2 +- .../receipts/010--non-fungible-resource-recall-frozen-vault.txt | 2 +- .../receipts/011--non-fungible-resource-unfreeze-withdraw.txt | 2 +- .../receipts/012--non-fungible-resource-unfreeze-deposit.txt | 2 +- .../receipts/013--non-fungible-resource-unfreeze-burn.txt | 2 +- .../014--non-fungible-resource-recall-unfrozen-vault.txt | 2 +- ...non-fungible-create-resource-with-supply-with-empty-data.txt | 2 +- ...-create-resource-with-supply-with-metadata-standard-data.txt | 2 +- .../017--non-fungible-transfer-metadata-standard-nfs.txt | 2 +- ...n-fungible-create-resource-with-supply-with-complex-data.txt | 2 +- .../receipts/019--non-fungible-mutate-data.txt | 2 +- ...001--non-fungible-resource-with-remote-type-registration.txt | 2 +- .../receipts/002--non-fungible-resource-with-remote-type.txt | 2 +- .../radiswap/receipts/001--radiswap-create-new-resources.txt | 2 +- ...-radiswap-create-owner-badge-and-dapp-definition-account.txt | 2 +- .../receipts/003--radiswap-publish-and-create-pools.txt | 2 +- .../radiswap/receipts/004--radiswap-add-liquidity.txt | 2 +- .../radiswap/receipts/005--radiswap-distribute-tokens.txt | 2 +- .../bottlenose/radiswap/receipts/006--radiswap-swap-tokens.txt | 2 +- .../radiswap/receipts/007--radiswap-remove-tokens.txt | 2 +- .../radiswap/receipts/008--radiswap-set-two-way-linking.txt | 2 +- .../royalties/receipts/001--royalties--publish-package.txt | 2 +- .../receipts/002--royalties--instantiate-components.txt | 2 +- .../receipts/003--royalties--set-components-royalty.txt | 2 +- .../004--royalties--call_all_components_all_methods.txt | 2 +- .../bottlenose/transfer_xrd/receipts/001--faucet-top-up.txt | 2 +- .../receipts/002--transfer--try_deposit_or_abort.txt | 2 +- .../receipts/003--transfer--try_deposit_or_refund.txt | 2 +- .../receipts/004--transfer--try_deposit_batch_or_abort.txt | 2 +- .../receipts/005--transfer--try_deposit_batch_or_refund.txt | 2 +- .../transfer_xrd/receipts/006--self-transfer--deposit_batch.txt | 2 +- .../receipts/007--multi-transfer--deposit_batch.txt | 2 +- 273 files changed, 273 insertions(+), 273 deletions(-) diff --git a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt index 3fcdadd8b14..b217225ec6c 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt @@ -430,7 +430,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt index 00954b8899d..76cb9703bdc 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt @@ -131,7 +131,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt index 760aaa3270b..2d8c143637f 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989998.24287133324")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt index 41eb6d634df..f9bef45b859 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989997.91279266684")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/001--fungible-max-div-create.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/001--fungible-max-div-create.txt index bfdfca23a0d..ef23d449a32 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/001--fungible-max-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/001--fungible-max-div-create.txt @@ -322,7 +322,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/002--fungible-max-div-mint.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/002--fungible-max-div-mint.txt index 7c60225d3bc..e7b7355d69a 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/002--fungible-max-div-mint.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/002--fungible-max-div-mint.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/003--fungible-max-div-burn.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/003--fungible-max-div-burn.txt index 32b633afd1f..e8491a1a75d 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/003--fungible-max-div-burn.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/003--fungible-max-div-burn.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100090")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt index 525e9b7f2ab..e70204a5e3d 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt @@ -519,7 +519,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt index 301f264127c..d1650efbf61 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.4738360101")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt index f0ed9ee863c..0993f793c70 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.27381925006")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt index f96cd89b2c5..2e78475cabf 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.07380249002")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt index db01c375a2a..e2dc476b53c 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt @@ -94,7 +94,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1.032")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt index a04faed8498..09b7781c5c9 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.56567915659")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt index 654cd796bbf..62773ee87a8 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.36555506169")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt index cf46f6b68b8..9fab97eeeef 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.16543096679")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt index 4fe0fcaf17b..005f68916f2 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.86643287826")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt index b541e492f55..f95899fd3e8 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.66641611822")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/014--fungible-min-div-create.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/014--fungible-min-div-create.txt index 2cfe35fbeab..5dbee932fac 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/014--fungible-min-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/014--fungible-min-div-create.txt @@ -229,7 +229,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt index c60a64ad96b..c4a47f46278 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100166")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt index 668ac743c5f..64b0aa92f81 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.60042939172")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt index 5593ef162cd..468706724ca 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt @@ -138,7 +138,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt index e888b3f1aa8..3d78d1d75d3 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.96841060907")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt index c617b02d37a..4a0fdd6b98f 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt @@ -75,7 +75,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99932")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt index a8269a5722e..2b29cb8b642 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.49197009548")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt index 3ba4c774cc3..db6dbac6000 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.19297200695")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt index c1c8dc1baa5..8f4d7254976 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.01638053775")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/global_n_owned/receipts/001--global_n_owned_emitting_events.txt b/radix-transaction-scenarios/generated-examples/anemone/global_n_owned/receipts/001--global_n_owned_emitting_events.txt index 4e8e39c254b..c3df63f03e2 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/global_n_owned/receipts/001--global_n_owned_emitting_events.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/global_n_owned/receipts/001--global_n_owned_emitting_events.txt @@ -683,7 +683,7 @@ STATE UPDATES: 9 entities └─ Set: Field(0) Value: UNLOCKED OwnedBp { } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/anemone/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt index 2e33af2cfb8..b0a06ca018c 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt @@ -423,7 +423,7 @@ STATE UPDATES: 9 entities Value: TestType { b: 1u32, } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/001--max_transaction-publish-package.txt b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/001--max_transaction-publish-package.txt index 376df5fab14..9a936f43527 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/001--max_transaction-publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/001--max_transaction-publish-package.txt @@ -517,7 +517,7 @@ STATE UPDATES: 9 entities lock_status: LockStatus::Locked, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/002--max_transaction-with-large-events.txt b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/002--max_transaction-with-large-events.txt index fd0679a60f1..fa325a92118 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/002--max_transaction-with-large-events.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/002--max_transaction-with-large-events.txt @@ -1089,7 +1089,7 @@ STATE UPDATES: 5 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999156.68052026323")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt index e85b2247a8a..cf04f2e328b 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt @@ -119,7 +119,7 @@ STATE UPDATES: 7 entities Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) └─ Set: 13u32 Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/001--metadata-create-package-with-metadata.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/001--metadata-create-package-with-metadata.txt index 83ad1cca4c3..1b79cdd13ef 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/001--metadata-create-package-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/001--metadata-create-package-with-metadata.txt @@ -849,7 +849,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/002--metadata-create-component-with-metadata.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/002--metadata-create-component-with-metadata.txt index 53a006caf9f..db502e5c3a6 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/002--metadata-create-component-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/002--metadata-create-component-with-metadata.txt @@ -695,7 +695,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("20000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/003--metadata-create-resource-with-metadata.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/003--metadata-create-resource-with-metadata.txt index 2c240c712be..0958ddd3b68 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/003--metadata-create-resource-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/003--metadata-create-resource-with-metadata.txt @@ -497,7 +497,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt index 4cf94432c10..e86ec733b2d 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt @@ -268,7 +268,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt index 1cf55c7ed55..bc1f278b466 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.48786154387")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt index 6a95bca681b..9f026562a0a 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt @@ -84,7 +84,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.26107385457")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/007--metadata-lock-metadata.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/007--metadata-lock-metadata.txt index b27b4d52b6e..3363fe17293 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/007--metadata-lock-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/007--metadata-lock-metadata.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.04168935738")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt index 7d78e2aae2b..d6fa152b856 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt @@ -202,7 +202,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt index df671994061..0234e06ecdf 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt @@ -189,7 +189,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt index 522432526e4..afae7f755e5 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959943.9597021487")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/001--non-fungible-resource-create.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/001--non-fungible-resource-create.txt index fec93db0424..b14fda892ce 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/001--non-fungible-resource-create.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/001--non-fungible-resource-create.txt @@ -510,7 +510,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt index 32726a42fe5..3c5d2ff465a 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt index 1020abdeef6..6f277ec5437 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt index 1981fb3df6c..c49af5cf09c 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt index c97e43a12c1..97da4308899 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt @@ -638,7 +638,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt index 6828e9085f4..84b551f057e 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt @@ -128,7 +128,7 @@ STATE UPDATES: 7 entities ├─ Delete: NonFungibleLocalId("#127#") ├─ Delete: NonFungibleLocalId("#126#") └─ Delete: NonFungibleLocalId("#110#") -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt index 222d41cfe33..38f3b1c51ed 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt @@ -246,7 +246,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt index 111624c27c1..5274c2a0c81 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.56038882664")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt index 9cb89632496..a2e81ae9aad 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.3500543166")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt index 61350097592..79ef0e8b611 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt @@ -107,7 +107,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt index c7441226e24..7736563ab8e 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.80916885658")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt index b3fe6568980..8080dc45128 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.59877036168")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt index a9647d8888d..ba409a94089 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.38837186678")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt index 6eadf00a915..a64687c42b1 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt @@ -99,7 +99,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.07674979059")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt index 813608389df..5ef7560a0f9 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt @@ -295,7 +295,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt index 7e3ec3585c3..75ce628d775 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt @@ -433,7 +433,7 @@ DEXes allow users to trade assets without the need for a trusted third party. Th Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt index e44a9600081..bb0e193089c 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt @@ -156,7 +156,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt index ea165bc5f58..5b24ae7791a 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt @@ -441,7 +441,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt index b5ab27ef6f6..8b82b340903 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt @@ -73,7 +73,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999987.48739098598")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt index b3213809c55..b4c10bff078 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt @@ -290,7 +290,7 @@ STATE UPDATES: 8 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt index 78b7f830f9d..bd53c631883 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt @@ -282,7 +282,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/001--radiswap-create-new-resources.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/001--radiswap-create-new-resources.txt index fe1f0753131..3e7a521e815 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/001--radiswap-create-new-resources.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/001--radiswap-create-new-resources.txt @@ -743,7 +743,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt index fc469bbb308..97a14cecd65 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt @@ -490,7 +490,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/003--radiswap-publish-and-create-pools.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/003--radiswap-publish-and-create-pools.txt index 5b6e7a8822a..6d87e280846 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/003--radiswap-publish-and-create-pools.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/003--radiswap-publish-and-create-pools.txt @@ -1171,7 +1171,7 @@ STATE UPDATES: 22 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/004--radiswap-add-liquidity.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/004--radiswap-add-liquidity.txt index a51f6181134..8e831b459c1 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/004--radiswap-add-liquidity.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/004--radiswap-add-liquidity.txt @@ -330,7 +330,7 @@ STATE UPDATES: 20 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("6324.555320336758663998")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/005--radiswap-distribute-tokens.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/005--radiswap-distribute-tokens.txt index f027953e7ba..c18d803a877 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/005--radiswap-distribute-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/005--radiswap-distribute-tokens.txt @@ -1430,7 +1430,7 @@ STATE UPDATES: 34 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("333")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/006--radiswap-swap-tokens.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/006--radiswap-swap-tokens.txt index cdfb24b3641..0654ba51828 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/006--radiswap-swap-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/006--radiswap-swap-tokens.txt @@ -146,7 +146,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("402.30693069306930693")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/007--radiswap-remove-tokens.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/007--radiswap-remove-tokens.txt index 3fa5fa5bb21..4606368dce1 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/007--radiswap-remove-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/007--radiswap-remove-tokens.txt @@ -172,7 +172,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("485.144557082581737422")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/008--radiswap-set-two-way-linking.txt b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/008--radiswap-set-two-way-linking.txt index 7644a9b3146..535c80581de 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/008--radiswap-set-two-way-linking.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/radiswap/receipts/008--radiswap-set-two-way-linking.txt @@ -579,7 +579,7 @@ STATE UPDATES: 13 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/001--royalties--publish-package.txt b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/001--royalties--publish-package.txt index a7d0d9aab59..98546e0811a 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/001--royalties--publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/001--royalties--publish-package.txt @@ -303,7 +303,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/002--royalties--instantiate-components.txt b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/002--royalties--instantiate-components.txt index 627ad99e935..5b4d5d1358d 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/002--royalties--instantiate-components.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/002--royalties--instantiate-components.txt @@ -471,7 +471,7 @@ STATE UPDATES: 11 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/003--royalties--set-components-royalty.txt b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/003--royalties--set-components-royalty.txt index 6ae54ff6981..aa0af1349f8 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/003--royalties--set-components-royalty.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/003--royalties--set-components-royalty.txt @@ -123,7 +123,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999967.1043114034")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/004--royalties--call_all_components_all_methods.txt b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/004--royalties--call_all_components_all_methods.txt index fbf93560d44..850eb075c79 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/004--royalties--call_all_components_all_methods.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/royalties/receipts/004--royalties--call_all_components_all_methods.txt @@ -99,7 +99,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("149.999999999999999994")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/001--faucet-top-up.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/001--faucet-top-up.txt index 56dea409582..a7d48ee80c6 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/001--faucet-top-up.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/001--faucet-top-up.txt @@ -218,7 +218,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt index 05e1431474a..07d0831a000 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt @@ -225,7 +225,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt index 502c9dc81e7..c39a0c45a51 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("2")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt index bf0669d57c2..e5982052835 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("3")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt index 27ecc90636b..0210b4ab82e 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("4")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt index 2ddd42b339d..9156ab5f95f 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt @@ -93,7 +93,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("9996")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt index 34393d605d7..7a3422dd41f 100644 --- a/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/anemone/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt @@ -249,7 +249,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt index 3fcdadd8b14..b217225ec6c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt @@ -430,7 +430,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt index 00954b8899d..76cb9703bdc 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt @@ -131,7 +131,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt index 760aaa3270b..2d8c143637f 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989998.24287133324")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt index 41eb6d634df..f9bef45b859 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989997.91279266684")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/001--fungible-max-div-create.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/001--fungible-max-div-create.txt index bfdfca23a0d..ef23d449a32 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/001--fungible-max-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/001--fungible-max-div-create.txt @@ -322,7 +322,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/002--fungible-max-div-mint.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/002--fungible-max-div-mint.txt index 7c60225d3bc..e7b7355d69a 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/002--fungible-max-div-mint.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/002--fungible-max-div-mint.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/003--fungible-max-div-burn.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/003--fungible-max-div-burn.txt index 32b633afd1f..e8491a1a75d 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/003--fungible-max-div-burn.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/003--fungible-max-div-burn.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100090")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt index 525e9b7f2ab..e70204a5e3d 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt @@ -519,7 +519,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt index 301f264127c..d1650efbf61 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.4738360101")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt index f0ed9ee863c..0993f793c70 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.27381925006")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt index f96cd89b2c5..2e78475cabf 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.07380249002")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt index db01c375a2a..e2dc476b53c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt @@ -94,7 +94,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1.032")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt index a04faed8498..09b7781c5c9 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.56567915659")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt index 654cd796bbf..62773ee87a8 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.36555506169")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt index cf46f6b68b8..9fab97eeeef 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.16543096679")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt index 4fe0fcaf17b..005f68916f2 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.86643287826")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt index b541e492f55..f95899fd3e8 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.66641611822")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/014--fungible-min-div-create.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/014--fungible-min-div-create.txt index 2cfe35fbeab..5dbee932fac 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/014--fungible-min-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/014--fungible-min-div-create.txt @@ -229,7 +229,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt index c60a64ad96b..c4a47f46278 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100166")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt index 668ac743c5f..64b0aa92f81 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.60042939172")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt index 5593ef162cd..468706724ca 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt @@ -138,7 +138,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt index e888b3f1aa8..3d78d1d75d3 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.96841060907")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt index c617b02d37a..4a0fdd6b98f 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt @@ -75,7 +75,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99932")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt index a8269a5722e..2b29cb8b642 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.49197009548")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt index 3ba4c774cc3..db6dbac6000 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.19297200695")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt index c1c8dc1baa5..8f4d7254976 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.01638053775")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/global_n_owned/receipts/001--global_n_owned_emitting_events.txt b/radix-transaction-scenarios/generated-examples/babylon/global_n_owned/receipts/001--global_n_owned_emitting_events.txt index 4e8e39c254b..c3df63f03e2 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/global_n_owned/receipts/001--global_n_owned_emitting_events.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/global_n_owned/receipts/001--global_n_owned_emitting_events.txt @@ -683,7 +683,7 @@ STATE UPDATES: 9 entities └─ Set: Field(0) Value: UNLOCKED OwnedBp { } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/babylon/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt index 2e33af2cfb8..b0a06ca018c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt @@ -423,7 +423,7 @@ STATE UPDATES: 9 entities Value: TestType { b: 1u32, } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/001--max_transaction-publish-package.txt b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/001--max_transaction-publish-package.txt index 376df5fab14..9a936f43527 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/001--max_transaction-publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/001--max_transaction-publish-package.txt @@ -517,7 +517,7 @@ STATE UPDATES: 9 entities lock_status: LockStatus::Locked, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/002--max_transaction-with-large-events.txt b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/002--max_transaction-with-large-events.txt index fd0679a60f1..fa325a92118 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/002--max_transaction-with-large-events.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/002--max_transaction-with-large-events.txt @@ -1089,7 +1089,7 @@ STATE UPDATES: 5 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999156.68052026323")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt index e85b2247a8a..cf04f2e328b 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt @@ -119,7 +119,7 @@ STATE UPDATES: 7 entities Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) └─ Set: 13u32 Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/001--metadata-create-package-with-metadata.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/001--metadata-create-package-with-metadata.txt index 83ad1cca4c3..1b79cdd13ef 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/001--metadata-create-package-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/001--metadata-create-package-with-metadata.txt @@ -849,7 +849,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/002--metadata-create-component-with-metadata.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/002--metadata-create-component-with-metadata.txt index 53a006caf9f..db502e5c3a6 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/002--metadata-create-component-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/002--metadata-create-component-with-metadata.txt @@ -695,7 +695,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("20000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/003--metadata-create-resource-with-metadata.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/003--metadata-create-resource-with-metadata.txt index 2c240c712be..0958ddd3b68 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/003--metadata-create-resource-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/003--metadata-create-resource-with-metadata.txt @@ -497,7 +497,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt index 4cf94432c10..e86ec733b2d 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt @@ -268,7 +268,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt index 1cf55c7ed55..bc1f278b466 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.48786154387")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt index 6a95bca681b..9f026562a0a 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt @@ -84,7 +84,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.26107385457")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/007--metadata-lock-metadata.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/007--metadata-lock-metadata.txt index b27b4d52b6e..3363fe17293 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/007--metadata-lock-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/007--metadata-lock-metadata.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.04168935738")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt index 7d78e2aae2b..d6fa152b856 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt @@ -202,7 +202,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt index df671994061..0234e06ecdf 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt @@ -189,7 +189,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt index 522432526e4..afae7f755e5 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959943.9597021487")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/001--non-fungible-resource-create.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/001--non-fungible-resource-create.txt index fec93db0424..b14fda892ce 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/001--non-fungible-resource-create.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/001--non-fungible-resource-create.txt @@ -510,7 +510,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt index 32726a42fe5..3c5d2ff465a 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt index 1020abdeef6..6f277ec5437 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt index 1981fb3df6c..c49af5cf09c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt index c97e43a12c1..97da4308899 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt @@ -638,7 +638,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt index 6828e9085f4..84b551f057e 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt @@ -128,7 +128,7 @@ STATE UPDATES: 7 entities ├─ Delete: NonFungibleLocalId("#127#") ├─ Delete: NonFungibleLocalId("#126#") └─ Delete: NonFungibleLocalId("#110#") -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt index 222d41cfe33..38f3b1c51ed 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt @@ -246,7 +246,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt index 111624c27c1..5274c2a0c81 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.56038882664")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt index 9cb89632496..a2e81ae9aad 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.3500543166")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt index 61350097592..79ef0e8b611 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt @@ -107,7 +107,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt index c7441226e24..7736563ab8e 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.80916885658")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt index b3fe6568980..8080dc45128 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.59877036168")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt index a9647d8888d..ba409a94089 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.38837186678")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt index 6eadf00a915..a64687c42b1 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt @@ -99,7 +99,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.07674979059")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt index 813608389df..5ef7560a0f9 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt @@ -295,7 +295,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt index 7e3ec3585c3..75ce628d775 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt @@ -433,7 +433,7 @@ DEXes allow users to trade assets without the need for a trusted third party. Th Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt index e44a9600081..bb0e193089c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt @@ -156,7 +156,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt index ea165bc5f58..5b24ae7791a 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt @@ -441,7 +441,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt index b5ab27ef6f6..8b82b340903 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt @@ -73,7 +73,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999987.48739098598")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt index b3213809c55..b4c10bff078 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt @@ -290,7 +290,7 @@ STATE UPDATES: 8 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt index 78b7f830f9d..bd53c631883 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt @@ -282,7 +282,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/001--radiswap-create-new-resources.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/001--radiswap-create-new-resources.txt index fe1f0753131..3e7a521e815 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/001--radiswap-create-new-resources.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/001--radiswap-create-new-resources.txt @@ -743,7 +743,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt index fc469bbb308..97a14cecd65 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt @@ -490,7 +490,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/003--radiswap-publish-and-create-pools.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/003--radiswap-publish-and-create-pools.txt index 5b6e7a8822a..6d87e280846 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/003--radiswap-publish-and-create-pools.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/003--radiswap-publish-and-create-pools.txt @@ -1171,7 +1171,7 @@ STATE UPDATES: 22 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/004--radiswap-add-liquidity.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/004--radiswap-add-liquidity.txt index 257e2967887..deeeb046f5f 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/004--radiswap-add-liquidity.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/004--radiswap-add-liquidity.txt @@ -330,7 +330,7 @@ STATE UPDATES: 20 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("6324.555320336758663997")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/005--radiswap-distribute-tokens.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/005--radiswap-distribute-tokens.txt index 9aa04d737ce..133344ffbbf 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/005--radiswap-distribute-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/005--radiswap-distribute-tokens.txt @@ -1430,7 +1430,7 @@ STATE UPDATES: 34 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("333")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/006--radiswap-swap-tokens.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/006--radiswap-swap-tokens.txt index a890e8bca9b..659335cc4f2 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/006--radiswap-swap-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/006--radiswap-swap-tokens.txt @@ -146,7 +146,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("402.30693069306930693")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/007--radiswap-remove-tokens.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/007--radiswap-remove-tokens.txt index d46ea2938fa..ded57ff6e0c 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/007--radiswap-remove-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/007--radiswap-remove-tokens.txt @@ -172,7 +172,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("485.144557082581734652")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/008--radiswap-set-two-way-linking.txt b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/008--radiswap-set-two-way-linking.txt index 9f403a5f97d..ce454a22b72 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/008--radiswap-set-two-way-linking.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/radiswap/receipts/008--radiswap-set-two-way-linking.txt @@ -579,7 +579,7 @@ STATE UPDATES: 13 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/001--royalties--publish-package.txt b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/001--royalties--publish-package.txt index a7d0d9aab59..98546e0811a 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/001--royalties--publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/001--royalties--publish-package.txt @@ -303,7 +303,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/002--royalties--instantiate-components.txt b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/002--royalties--instantiate-components.txt index 627ad99e935..5b4d5d1358d 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/002--royalties--instantiate-components.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/002--royalties--instantiate-components.txt @@ -471,7 +471,7 @@ STATE UPDATES: 11 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/003--royalties--set-components-royalty.txt b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/003--royalties--set-components-royalty.txt index 6ae54ff6981..aa0af1349f8 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/003--royalties--set-components-royalty.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/003--royalties--set-components-royalty.txt @@ -123,7 +123,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999967.1043114034")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/004--royalties--call_all_components_all_methods.txt b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/004--royalties--call_all_components_all_methods.txt index fbf93560d44..850eb075c79 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/004--royalties--call_all_components_all_methods.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/royalties/receipts/004--royalties--call_all_components_all_methods.txt @@ -99,7 +99,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("149.999999999999999994")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/001--faucet-top-up.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/001--faucet-top-up.txt index 56dea409582..a7d48ee80c6 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/001--faucet-top-up.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/001--faucet-top-up.txt @@ -218,7 +218,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt index 05e1431474a..07d0831a000 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt @@ -225,7 +225,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt index 502c9dc81e7..c39a0c45a51 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("2")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt index bf0669d57c2..e5982052835 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("3")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt index 27ecc90636b..0210b4ab82e 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("4")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt index 2ddd42b339d..9156ab5f95f 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt @@ -93,7 +93,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("9996")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt index 34393d605d7..7a3422dd41f 100644 --- a/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/babylon/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt @@ -249,7 +249,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/001--access-controller-v2-instantiate.txt b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/001--access-controller-v2-instantiate.txt index eed06160746..a5738a1a47b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/001--access-controller-v2-instantiate.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/001--access-controller-v2-instantiate.txt @@ -428,7 +428,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/002--access-controller-v2-deposit-fees-xrd.txt b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/002--access-controller-v2-deposit-fees-xrd.txt index c7f560e7fb8..37a19895d4e 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/002--access-controller-v2-deposit-fees-xrd.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/002--access-controller-v2-deposit-fees-xrd.txt @@ -138,7 +138,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/003--access-controller-v2-lock-fee-and-recover.txt b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/003--access-controller-v2-lock-fee-and-recover.txt index 42922a071ca..a5c736df7a1 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/003--access-controller-v2-lock-fee-and-recover.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/access-controller-v2/receipts/003--access-controller-v2-lock-fee-and-recover.txt @@ -266,7 +266,7 @@ STATE UPDATES: 5 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("9999.64084304891")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt index 1c2409e4336..f1671af55ce 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/001--account-authorized-depositors-configure-accounts.txt @@ -430,7 +430,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt index f078ef72c16..26e2b92697c 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/002--account-authorized-depositors-attempt-deposit-success.txt @@ -131,7 +131,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt index 2df86870e97..81870de26ee 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/003--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-present.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989998.22882663324")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt index 0d98c19b3ec..1e2676a2978 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_authorized_depositors/receipts/004--account-authorized-depositors-attempt-deposit-failure-if-badge-is-not-an-authorized-depositor.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999989997.88085851684")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/001--account-locker-create-accounts.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/001--account-locker-create-accounts.txt index 1e9706182c1..144baeaec55 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/001--account-locker-create-accounts.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/001--account-locker-create-accounts.txt @@ -414,7 +414,7 @@ STATE UPDATES: 10 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/002--account-locker-create-account-locker.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/002--account-locker-create-account-locker.txt index ba05ee39fea..7c8601dc6dc 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/002--account-locker-create-account-locker.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/002--account-locker-create-account-locker.txt @@ -346,7 +346,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/003--account-locker-create-resources.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/003--account-locker-create-resources.txt index 0de6900adf6..b24fa3576da 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/003--account-locker-create-resources.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/003--account-locker-create-resources.txt @@ -318,7 +318,7 @@ STATE UPDATES: 7 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/004--account-locker-setting-up-account-deposit-rules.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/004--account-locker-setting-up-account-deposit-rules.txt index be7957e8c68..4bb00ab4b48 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/004--account-locker-setting-up-account-deposit-rules.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/004--account-locker-setting-up-account-deposit-rules.txt @@ -117,7 +117,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999997.44002639037")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/005--account-locker-send-fungibles-and-try-direct-deposit-succeeds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/005--account-locker-send-fungibles-and-try-direct-deposit-succeeds.txt index 873703864aa..d448984d652 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/005--account-locker-send-fungibles-and-try-direct-deposit-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/005--account-locker-send-fungibles-and-try-direct-deposit-succeeds.txt @@ -133,7 +133,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/006--account-locker-send-fungibles-and-try-direct-deposit-refunds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/006--account-locker-send-fungibles-and-try-direct-deposit-refunds.txt index 477daab37df..b6a5ca02584 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/006--account-locker-send-fungibles-and-try-direct-deposit-refunds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/006--account-locker-send-fungibles-and-try-direct-deposit-refunds.txt @@ -186,7 +186,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/007--account-locker-send-fungibles-and-dont-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/007--account-locker-send-fungibles-and-dont-try-direct-deposit.txt index b67b6fa32b5..c00a1ab0ed5 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/007--account-locker-send-fungibles-and-dont-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/007--account-locker-send-fungibles-and-dont-try-direct-deposit.txt @@ -181,7 +181,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/008--account-locker-airdrop-fungibles-and-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/008--account-locker-airdrop-fungibles-and-try-direct-deposit.txt index 799729e186f..69735bcef15 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/008--account-locker-airdrop-fungibles-and-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/008--account-locker-airdrop-fungibles-and-try-direct-deposit.txt @@ -171,7 +171,7 @@ STATE UPDATES: 11 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/009--account-locker-airdrop-fungibles-and-dont-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/009--account-locker-airdrop-fungibles-and-dont-try-direct-deposit.txt index 55084b57e1e..2032f19de86 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/009--account-locker-airdrop-fungibles-and-dont-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/009--account-locker-airdrop-fungibles-and-dont-try-direct-deposit.txt @@ -217,7 +217,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/010--account-locker-send-non-fungibles-and-try-direct-deposit-succeeds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/010--account-locker-send-non-fungibles-and-try-direct-deposit-succeeds.txt index 6fc11cc8c00..bfc72799ad7 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/010--account-locker-send-non-fungibles-and-try-direct-deposit-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/010--account-locker-send-non-fungibles-and-try-direct-deposit-succeeds.txt @@ -147,7 +147,7 @@ STATE UPDATES: 9 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/011--account-locker-send-non-fungibles-and-try-direct-deposit-refunds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/011--account-locker-send-non-fungibles-and-try-direct-deposit-refunds.txt index 9d7dd4da895..492ba20936b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/011--account-locker-send-non-fungibles-and-try-direct-deposit-refunds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/011--account-locker-send-non-fungibles-and-try-direct-deposit-refunds.txt @@ -147,7 +147,7 @@ STATE UPDATES: 9 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/012--account-locker-send-non-fungibles-and-dont-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/012--account-locker-send-non-fungibles-and-dont-try-direct-deposit.txt index 55d5c68dc07..bd9a94cf6e1 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/012--account-locker-send-non-fungibles-and-dont-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/012--account-locker-send-non-fungibles-and-dont-try-direct-deposit.txt @@ -148,7 +148,7 @@ STATE UPDATES: 9 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/013--account-locker-airdrop-non-fungibles-by-amount-and-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/013--account-locker-airdrop-non-fungibles-by-amount-and-try-direct-deposit.txt index 946536ca9e9..355ff8c2a6a 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/013--account-locker-airdrop-non-fungibles-by-amount-and-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/013--account-locker-airdrop-non-fungibles-by-amount-and-try-direct-deposit.txt @@ -209,7 +209,7 @@ STATE UPDATES: 11 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/014--account-locker-airdrop-non-fungibles-by-amount-and-dont-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/014--account-locker-airdrop-non-fungibles-by-amount-and-dont-try-direct-deposit.txt index d2c0de14e3e..bcd58230b54 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/014--account-locker-airdrop-non-fungibles-by-amount-and-dont-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/014--account-locker-airdrop-non-fungibles-by-amount-and-dont-try-direct-deposit.txt @@ -208,7 +208,7 @@ STATE UPDATES: 11 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/015--account-locker-airdrop-non-fungibles-by-ids-and-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/015--account-locker-airdrop-non-fungibles-by-ids-and-try-direct-deposit.txt index 59414b2b1e5..fd1527ec636 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/015--account-locker-airdrop-non-fungibles-by-ids-and-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/015--account-locker-airdrop-non-fungibles-by-ids-and-try-direct-deposit.txt @@ -178,7 +178,7 @@ STATE UPDATES: 10 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/016--account-locker-airdrop-non-fungibles-by-ids-and-dont-try-direct-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/016--account-locker-airdrop-non-fungibles-by-ids-and-dont-try-direct-deposit.txt index 1bc29c0bfe8..0b72eb1f37f 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/016--account-locker-airdrop-non-fungibles-by-ids-and-dont-try-direct-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/016--account-locker-airdrop-non-fungibles-by-ids-and-dont-try-direct-deposit.txt @@ -177,7 +177,7 @@ STATE UPDATES: 10 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/017--account-locker-global-caller-badge-is-an-authorized-depositor.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/017--account-locker-global-caller-badge-is-an-authorized-depositor.txt index 1d38d105b93..efed8123907 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/017--account-locker-global-caller-badge-is-an-authorized-depositor.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/017--account-locker-global-caller-badge-is-an-authorized-depositor.txt @@ -133,7 +133,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/018--account-locker-claim-fungibles-by-amount.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/018--account-locker-claim-fungibles-by-amount.txt index a83da906b60..866f30ec2ec 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/018--account-locker-claim-fungibles-by-amount.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/018--account-locker-claim-fungibles-by-amount.txt @@ -135,7 +135,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/019--account-locker-claim-non-fungibles-by-amount.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/019--account-locker-claim-non-fungibles-by-amount.txt index 87dfccf1b63..9199fc29c44 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/019--account-locker-claim-non-fungibles-by-amount.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/019--account-locker-claim-non-fungibles-by-amount.txt @@ -117,7 +117,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/020--account-locker-claim-non-fungibles-by-ids.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/020--account-locker-claim-non-fungibles-by-ids.txt index 3c7acab9a77..8f2efe70b22 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/020--account-locker-claim-non-fungibles-by-ids.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/020--account-locker-claim-non-fungibles-by-ids.txt @@ -117,7 +117,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/021--account-locker-recover-fungibles-by-amount.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/021--account-locker-recover-fungibles-by-amount.txt index 1853bbd3110..9b6fa4d49ad 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/021--account-locker-recover-fungibles-by-amount.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/021--account-locker-recover-fungibles-by-amount.txt @@ -108,7 +108,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("2")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/022--account-locker-recover-non-fungibles-by-amount.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/022--account-locker-recover-non-fungibles-by-amount.txt index 5a249b9c05d..4e458be37d4 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/022--account-locker-recover-non-fungibles-by-amount.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/022--account-locker-recover-non-fungibles-by-amount.txt @@ -123,7 +123,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/023--account-locker-recover-non-fungibles-by-ids.txt b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/023--account-locker-recover-non-fungibles-by-ids.txt index 32b128416b5..5ab20d11475 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/023--account-locker-recover-non-fungibles-by-ids.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/account_locker/receipts/023--account-locker-recover-non-fungibles-by-ids.txt @@ -156,7 +156,7 @@ STATE UPDATES: 9 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/001--fungible-max-div-create.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/001--fungible-max-div-create.txt index a4f245b6a32..f9224122bbc 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/001--fungible-max-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/001--fungible-max-div-create.txt @@ -322,7 +322,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/002--fungible-max-div-mint.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/002--fungible-max-div-mint.txt index 052fc8d9d70..683dfbb0941 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/002--fungible-max-div-mint.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/002--fungible-max-div-mint.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100100")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/003--fungible-max-div-burn.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/003--fungible-max-div-burn.txt index ab78e62e4c9..e07a6d65d96 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/003--fungible-max-div-burn.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/003--fungible-max-div-burn.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100090")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt index ae4b6899045..8765b79bd7a 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/004--fungible-max-div-transfer-32-times.txt @@ -519,7 +519,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt index 159ffe4a110..aebdbc7f8a2 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/005--fungible-max-div-freeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.4557473601")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt index 0ecfff1c9e0..a3cfe45972e 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/006--fungible-max-div-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.25172950006")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt index 402676d2354..6bb0744f25b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/007--fungible-max-div-freeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999996.04771164002")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt index ace922023e4..f009d335b0f 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/008--fungible-max-div-recall-frozen-vault.txt @@ -94,7 +94,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1.032")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt index 3a2a81689d6..03859939fe8 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/009--fungible-max-div-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.53158610659")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt index f1d14db38f6..6c975429b1b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/010--fungible-max-div-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.32746091169")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt index 7a64d4f5f10..e457a2cd8ae 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/011--fungible-max-div-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999995.12333571679")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt index bdf695b6ea6..44163d5f8db 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/012--fungible-max-div-recall-unfrozen-vault.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.82033652826")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt index c9fbabe4597..920e435ce83 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/013--fungible-max-div-freeze-withdraw-again.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999994.61631866822")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/014--fungible-min-div-create.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/014--fungible-min-div-create.txt index b17083eeddb..9a3f408933c 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/014--fungible-min-div-create.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/014--fungible-min-div-create.txt @@ -229,7 +229,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt index 4ebc430bb6e..1de7d4d4a4d 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/015--fungible-min-div-mint-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100166")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt index 38c924dc64b..7e7f499b6fd 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/016--fungible-min-div-mint-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.54028719172")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt index 8efc8cc1925..3753945db44 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/017--fungible-min-div-transfer-correct-granularity.txt @@ -138,7 +138,7 @@ STATE UPDATES: 8 entities bits: 0u32, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt index c89bcf2ac84..a2fb85fe016 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/018--fungible-min-div-transfer-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.90026560907")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt index b725de90ca0..eeb6efbf7ba 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/019--fungible-min-div-create-proof-correct-granularity.txt @@ -75,7 +75,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99932")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt index 4fcec1689a4..43f4b13f433 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/020--fungible-min-div-create-proof-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.41582229548")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt index b5ef788af1b..aaca45de27a 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/021--fungible-min-div-recall-correct-granularity.txt @@ -88,7 +88,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.11282310695")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt index 67cdc25fd11..7b223d6b4d5 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/fungible_resource/receipts/022--fungible-min-div-recall-wrong-granularity.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999991.93223053775")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/global_n_owned/receipts/001--global_n_owned_emitting_events.txt b/radix-transaction-scenarios/generated-examples/bottlenose/global_n_owned/receipts/001--global_n_owned_emitting_events.txt index f74182e0ddc..0de6ecec597 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/global_n_owned/receipts/001--global_n_owned_emitting_events.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/global_n_owned/receipts/001--global_n_owned_emitting_events.txt @@ -683,7 +683,7 @@ STATE UPDATES: 9 entities └─ Set: Field(0) Value: UNLOCKED OwnedBp { } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/bottlenose/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt index 39affb14e33..60f1fb6e457 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/kv_store_with_remote_type/receipts/001--kv-store-with-remote-type.txt @@ -423,7 +423,7 @@ STATE UPDATES: 9 entities Value: TestType { b: 1u32, } -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/001--max_transaction-publish-package.txt b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/001--max_transaction-publish-package.txt index 6422caaf24d..5f35a878ead 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/001--max_transaction-publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/001--max_transaction-publish-package.txt @@ -517,7 +517,7 @@ STATE UPDATES: 9 entities lock_status: LockStatus::Locked, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/002--max_transaction-with-large-events.txt b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/002--max_transaction-with-large-events.txt index 22d146f97fa..21348e02e38 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/002--max_transaction-with-large-events.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/002--max_transaction-with-large-events.txt @@ -1089,7 +1089,7 @@ STATE UPDATES: 5 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999156.67447711323")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt index 0d63fb0a7ee..feca0f44899 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/max_transaction/receipts/003--max_transaction-with-large-state-updates.txt @@ -119,7 +119,7 @@ STATE UPDATES: 7 entities Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) └─ Set: 13u32 Value: (Hidden as longer than 1024 bytes. Hash: cfb1c64f9a2eeb2cb269dcb81cefa3edc16d1a1d5768c8903e461a9bd89c0f5c) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/001--maya-router-create-accounts.txt b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/001--maya-router-create-accounts.txt index 22acc69fb7c..4509a81c585 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/001--maya-router-create-accounts.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/001--maya-router-create-accounts.txt @@ -207,7 +207,7 @@ STATE UPDATES: 7 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/002--faucet-top-up.txt b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/002--faucet-top-up.txt index 0e8fbc2368c..d4ef409733b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/002--faucet-top-up.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/002--faucet-top-up.txt @@ -125,7 +125,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/003--maya-router-create-resources.txt b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/003--maya-router-create-resources.txt index d0e267675ca..27d6dd0fca2 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/003--maya-router-create-resources.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/003--maya-router-create-resources.txt @@ -452,7 +452,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/004--maya-router-publish-and-instantiate.txt b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/004--maya-router-publish-and-instantiate.txt index 277147b40d6..95fe8e7c51a 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/004--maya-router-publish-and-instantiate.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/maya_router/receipts/004--maya-router-publish-and-instantiate.txt @@ -371,7 +371,7 @@ STATE UPDATES: 10 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/001--metadata-create-package-with-metadata.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/001--metadata-create-package-with-metadata.txt index 4a3e93fb350..9e5f655fc5d 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/001--metadata-create-package-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/001--metadata-create-package-with-metadata.txt @@ -849,7 +849,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/002--metadata-create-component-with-metadata.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/002--metadata-create-component-with-metadata.txt index 4421503faa7..75e89adba61 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/002--metadata-create-component-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/002--metadata-create-component-with-metadata.txt @@ -695,7 +695,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("20000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/003--metadata-create-resource-with-metadata.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/003--metadata-create-resource-with-metadata.txt index 7119155607d..46a3721a763 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/003--metadata-create-resource-with-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/003--metadata-create-resource-with-metadata.txt @@ -497,7 +497,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt index 83fb06f7135..f660e0a4afe 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/004--metadata-create-resource-with-metadata-partially-locked.txt @@ -268,7 +268,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt index de7833ae1b6..d9d971521ad 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/005--metadata-update-initially-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.47369184387")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt index bb7f92c0494..c62ddbe51bb 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/006--metadata-update-updatable-metadata-succeeds.txt @@ -84,7 +84,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.24290290457")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/007--metadata-lock-metadata.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/007--metadata-lock-metadata.txt index b2e13dcbd63..227c06e45a8 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/007--metadata-lock-metadata.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/007--metadata-lock-metadata.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959945.01951715738")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt index c86c11e8fc4..24cb157466f 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/008--metadata-set-metadata-on-dashboard-account-succeeds.txt @@ -202,7 +202,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt index ecb8c1083d8..0ca5101438b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/009--metadata-set-metadata-on-sandbox-account-succeeds.txt @@ -189,7 +189,7 @@ STATE UPDATES: 6 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt index 174cbfe2054..8315f9b0dfa 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/metadata/receipts/010--metadata-update-recently-locked-metadata-fails.txt @@ -62,7 +62,7 @@ STATE UPDATES: 4 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999959943.9294447987")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/001--non-fungible-resource-create.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/001--non-fungible-resource-create.txt index f0001164240..444fec072d6 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/001--non-fungible-resource-create.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/001--non-fungible-resource-create.txt @@ -510,7 +510,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt index 8ccd82195d0..5cda0074346 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/002--non-fungible-resource-create-string.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt index a68ef05e272..149c79a1b14 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/003--non-fungible-resource-create-bytes.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt index 44e9291c087..1a03219e3d8 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/004--non-fungible-resource-create-ruid.txt @@ -407,7 +407,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt index e39e86f931f..fa84c4ef73f 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/005--non-fungible-resource-mint-32-nfts.txt @@ -638,7 +638,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt index 70593bc2665..db2cc380c80 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/006--non-fungible-resource-burn.txt @@ -128,7 +128,7 @@ STATE UPDATES: 7 entities ├─ Delete: NonFungibleLocalId("#127#") ├─ Delete: NonFungibleLocalId("#126#") └─ Delete: NonFungibleLocalId("#110#") -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt index aab6ee631b6..7b710bd3645 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/007--non-fungible-resource-transfer.txt @@ -246,7 +246,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt index 0e9aeeb646b..4c23beebae6 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/008--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.53617357664")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt index 56a8b609494..57fe857a125 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/009--non-fungible-resource-freeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999993.3218379666")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt index 2790ba53611..8f47adb4883 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/010--non-fungible-resource-recall-frozen-vault.txt @@ -107,7 +107,7 @@ STATE UPDATES: 7 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt index be49e45855e..204eecda0cc 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/011--non-fungible-resource-unfreeze-withdraw.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.77295030658")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt index c778e15b1d8..e4258783e36 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/012--non-fungible-resource-unfreeze-deposit.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.55855071168")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt index 640dc6c6a8c..7dc380c9d62 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/013--non-fungible-resource-unfreeze-burn.txt @@ -77,7 +77,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.34415111678")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt index 0bb64266500..2c21e058395 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/014--non-fungible-resource-recall-unfrozen-vault.txt @@ -99,7 +99,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999992.02852794059")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt index 40b2f570365..644e74a7af4 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/015--non-fungible-create-resource-with-supply-with-empty-data.txt @@ -295,7 +295,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt index 2dcdffc138b..2c1b8edcffe 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/016--non-fungible-create-resource-with-supply-with-metadata-standard-data.txt @@ -433,7 +433,7 @@ DEXes allow users to trade assets without the need for a trusted third party. Th Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt index fd970f4fd71..2b6e1b82462 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/017--non-fungible-transfer-metadata-standard-nfs.txt @@ -156,7 +156,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt index 794e761b978..e17e039e4d3 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/018--non-fungible-create-resource-with-supply-with-complex-data.txt @@ -441,7 +441,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt index f9565402382..1710cf870f8 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource/receipts/019--non-fungible-mutate-data.txt @@ -73,7 +73,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999987.42303918598")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt index f7fe9fa2cac..d2b4887bdf6 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/001--non-fungible-resource-with-remote-type-registration.txt @@ -290,7 +290,7 @@ STATE UPDATES: 8 entities }, }, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt index f4a386e0b6f..e27823c2b3d 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/non_fungible_resource_with_remote_type/receipts/002--non-fungible-resource-with-remote-type.txt @@ -282,7 +282,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/001--radiswap-create-new-resources.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/001--radiswap-create-new-resources.txt index 3810a3d9011..29328106898 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/001--radiswap-create-new-resources.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/001--radiswap-create-new-resources.txt @@ -743,7 +743,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("100000000000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt index ec5f383ac53..4ef2e9efcbe 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/002--radiswap-create-owner-badge-and-dapp-definition-account.txt @@ -490,7 +490,7 @@ STATE UPDATES: 8 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/003--radiswap-publish-and-create-pools.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/003--radiswap-publish-and-create-pools.txt index e123871f879..e0794728dec 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/003--radiswap-publish-and-create-pools.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/003--radiswap-publish-and-create-pools.txt @@ -1171,7 +1171,7 @@ STATE UPDATES: 22 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/004--radiswap-add-liquidity.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/004--radiswap-add-liquidity.txt index c99b77a534b..9c13630c81c 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/004--radiswap-add-liquidity.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/004--radiswap-add-liquidity.txt @@ -330,7 +330,7 @@ STATE UPDATES: 20 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("6324.555320336758663998")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/005--radiswap-distribute-tokens.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/005--radiswap-distribute-tokens.txt index 91f9d7fc55f..871426eee46 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/005--radiswap-distribute-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/005--radiswap-distribute-tokens.txt @@ -1430,7 +1430,7 @@ STATE UPDATES: 34 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("333")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/006--radiswap-swap-tokens.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/006--radiswap-swap-tokens.txt index 021439d936a..d7a09d506df 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/006--radiswap-swap-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/006--radiswap-swap-tokens.txt @@ -146,7 +146,7 @@ STATE UPDATES: 10 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("402.30693069306930693")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/007--radiswap-remove-tokens.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/007--radiswap-remove-tokens.txt index bba137ec4ec..946aedc27bb 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/007--radiswap-remove-tokens.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/007--radiswap-remove-tokens.txt @@ -172,7 +172,7 @@ STATE UPDATES: 12 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("485.144557082581737422")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/008--radiswap-set-two-way-linking.txt b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/008--radiswap-set-two-way-linking.txt index c15cce3b00d..81ab915d382 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/008--radiswap-set-two-way-linking.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/radiswap/receipts/008--radiswap-set-two-way-linking.txt @@ -579,7 +579,7 @@ STATE UPDATES: 13 entities Value: NonFungibleVaultNonFungibleEntryPayload::V1( Unit, ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/001--royalties--publish-package.txt b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/001--royalties--publish-package.txt index 4a0aea50a32..4fd7357d349 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/001--royalties--publish-package.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/001--royalties--publish-package.txt @@ -303,7 +303,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/002--royalties--instantiate-components.txt b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/002--royalties--instantiate-components.txt index 17de9351d08..6abc999d34b 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/002--royalties--instantiate-components.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/002--royalties--instantiate-components.txt @@ -471,7 +471,7 @@ STATE UPDATES: 11 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("0")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/003--royalties--set-components-royalty.txt b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/003--royalties--set-components-royalty.txt index dcfd24962d4..71bbcb71552 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/003--royalties--set-components-royalty.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/003--royalties--set-components-royalty.txt @@ -123,7 +123,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("99999999999999967.0895742034")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/004--royalties--call_all_components_all_methods.txt b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/004--royalties--call_all_components_all_methods.txt index 76d8db545fd..f30257a1755 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/004--royalties--call_all_components_all_methods.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/royalties/receipts/004--royalties--call_all_components_all_methods.txt @@ -99,7 +99,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("149.999999999999999994")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/001--faucet-top-up.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/001--faucet-top-up.txt index e2ff189c4d8..de8dd401165 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/001--faucet-top-up.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/001--faucet-top-up.txt @@ -218,7 +218,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("10000")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt index 4ba4e20c73f..100c85c2599 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/002--transfer--try_deposit_or_abort.txt @@ -225,7 +225,7 @@ STATE UPDATES: 8 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt index e0c110bb441..8a6dd41bd11 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/003--transfer--try_deposit_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("2")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt index 3d91e6a4746..90e8b525dae 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/004--transfer--try_deposit_batch_or_abort.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("3")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt index d22cc4e9e49..1a19abb5f25 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/005--transfer--try_deposit_batch_or_refund.txt @@ -99,7 +99,7 @@ STATE UPDATES: 7 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("4")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt index e38bfc8045e..4e63e99f2c2 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/006--self-transfer--deposit_batch.txt @@ -93,7 +93,7 @@ STATE UPDATES: 6 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("9996")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( diff --git a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt index 6407b1c7f43..aa6a797e961 100644 --- a/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt +++ b/radix-transaction-scenarios/generated-examples/bottlenose/transfer_xrd/receipts/007--multi-transfer--deposit_batch.txt @@ -249,7 +249,7 @@ STATE UPDATES: 9 entities Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( LiquidFungibleResource(Decimal("1")), ) -├─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions +└─ internal_vault_sim1tpsesv77qvw782kknjks9g3x2msg8cc8ldshk28pkf6m6lkhun3sel across 1 partitions └─ Partition(64): 1 change └─ Set: Field(0) Value: UNLOCKED FungibleVaultBalanceFieldPayload::V1( From b6035dbb2a6cede95dfb634f7aff0813f7043524 Mon Sep 17 00:00:00 2001 From: David Edey Date: Sat, 27 Jul 2024 00:23:56 +0100 Subject: [PATCH 03/10] fix: Fix code format --- radix-engine/src/transaction/transaction_receipt.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/radix-engine/src/transaction/transaction_receipt.rs b/radix-engine/src/transaction/transaction_receipt.rs index 54cc55572ca..fb5247dd3e1 100644 --- a/radix-engine/src/transaction/transaction_receipt.rs +++ b/radix-engine/src/transaction/transaction_receipt.rs @@ -1255,12 +1255,7 @@ fn display_substate_change<'a, F: fmt::Write>( write!(f, "\n {prefix} Set: ")?; format_receipt_substate_key(f, substate_structure, receipt_context, substate_key)?; write!(f, "\n Value: ")?; - format_receipt_substate_value( - f, - substate_structure, - receipt_context, - substate_value, - )?; + format_receipt_substate_value(f, substate_structure, receipt_context, substate_value)?; } SubstateChange::Delete => { write!(f, "\n {prefix} Delete: ")?; From 1399b6365d39a4bca7e4b4ed5f7792599765b816 Mon Sep 17 00:00:00 2001 From: David Edey Date: Sat, 27 Jul 2024 00:48:41 +0100 Subject: [PATCH 04/10] fix: Fix non fungible test --- .../assets/blueprints/non_fungible/src/non_fungible_test.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radix-engine-tests/assets/blueprints/non_fungible/src/non_fungible_test.rs b/radix-engine-tests/assets/blueprints/non_fungible/src/non_fungible_test.rs index 32982e3f45e..26c4d5320d6 100644 --- a/radix-engine-tests/assets/blueprints/non_fungible/src/non_fungible_test.rs +++ b/radix-engine-tests/assets/blueprints/non_fungible/src/non_fungible_test.rs @@ -573,7 +573,7 @@ mod non_fungible_test { fn create_non_fungible_with_given_type( func_name: &str, id_type: NonFungibleIdType, - entries: IndexMap, + entries: IndexMap, address_reservation: Option, ) -> NonFungibleBucket { let rtn = match func_name { @@ -582,7 +582,7 @@ mod non_fungible_test { let entries = entries .into_iter() .map(|(_, v)| v) - .collect::>(); + .collect::>(); ScryptoVmV1Api::blueprint_call( RESOURCE_PACKAGE, From 2155ef22fb0f5d18f707c23ed5df4e1d314b69e6 Mon Sep 17 00:00:00 2001 From: David Edey Date: Sat, 27 Jul 2024 01:23:35 +0100 Subject: [PATCH 05/10] fix: Fix events test --- radix-engine-tests/tests/system/events.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/radix-engine-tests/tests/system/events.rs b/radix-engine-tests/tests/system/events.rs index 3ad8945ce54..298c3ee532c 100644 --- a/radix-engine-tests/tests/system/events.rs +++ b/radix-engine-tests/tests/system/events.rs @@ -2106,7 +2106,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { account::WithdrawEvent::EVENT_NAME ); assert_eq!( - vault_withdraw_event.1.decode_as::().unwrap(), + account_withdraw_event.1.decode_as::().unwrap(), account::WithdrawEvent::Fungible(XRD, dec!("1")) ) } @@ -2116,7 +2116,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { fungible_vault::DepositEvent::EVENT_NAME ); assert_eq!( - vault_withdraw_event.1.decode_as::().unwrap(), + vault_deposit_event.1.decode_as::().unwrap(), fungible_vault::DepositEvent::new(dec!("1")) ) } @@ -2126,7 +2126,7 @@ fn account_withdraw_and_deposit_fungibles_should_emit_correct_event() { account::DepositEvent::EVENT_NAME ); assert_eq!( - vault_withdraw_event.1.decode_as::().unwrap(), + account_deposit_event.1.decode_as::().unwrap(), account::DepositEvent::Fungible(XRD, dec!("1")) ) } From ee53e66be1839ccea713a98875103588290f15c2 Mon Sep 17 00:00:00 2001 From: David Edey Date: Sat, 27 Jul 2024 02:39:47 +0100 Subject: [PATCH 06/10] fix: Fix tests in no-std --- .../tests/application/stake_reconciliation.rs | 2 +- radix-rust/src/rust.rs | 46 +++++++++++-------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/radix-engine-tests/tests/application/stake_reconciliation.rs b/radix-engine-tests/tests/application/stake_reconciliation.rs index 310766022ef..d8baf7e27fe 100644 --- a/radix-engine-tests/tests/application/stake_reconciliation.rs +++ b/radix-engine-tests/tests/application/stake_reconciliation.rs @@ -40,7 +40,7 @@ fn test_stake_reconciliation() { receipt.expect_commit_success(); // Store current DB substate value hashes for comparision after staking execution - let mut pre_transaction_substates: IndexMap<(DbPartitionKey, DbSortKey), Vec> = IndexMap::new(); + let mut pre_transaction_substates: IndexMap<(DbPartitionKey, DbSortKey), Vec> = indexmap!(); let db = ledger.substate_db(); let old_keys: Vec = db.list_partition_keys().collect(); for key in old_keys { diff --git a/radix-rust/src/rust.rs b/radix-rust/src/rust.rs index d5afcc47a1d..8165752e7b8 100644 --- a/radix-rust/src/rust.rs +++ b/radix-rust/src/rust.rs @@ -366,20 +366,14 @@ pub mod collections { pub use hashset; } - /// The methods and macros provided directly in this `index_map` module (`new`, `with_capacity`) work in both std and no-std modes - unlike the - /// corresponding methods on `IndexMap` itself. + /// The recommended way to use [`IndexMap`] is to add `use radix_rust::prelude::*` and then + /// create new maps using `index_map_new`, `index_map_with_capacity`, or the `indexmap!()` macro. /// - /// Unfortunately `IndexMap` is very hard to use from no-std (see [docs](https://docs.rs/indexmap/latest/indexmap/#no-standard-library-targets) - /// and [relevant github issue](https://github.com/bluss/indexmap/issues/184)). It uses a weird build flag to detect if no-std is present, which - /// is hard to force unless you explicitly do eg a WASM build and see that it's missing. + /// Note that `IndexMap::new` does not function correctly when the `alloc` and `fuzzing` features + /// are enabled, so use `index_map_new` or `indexmap!()` instead. /// - /// The recommended way to use IndexMap is to add `use sbor::rust::collections::*` and then reference the type inline as `index_map::IndexMap` - /// and create new sets using `index_map::new`, `index_map::with_capacity`, or the `index_map::indexmap!` macro. Always putting the `index_map` - /// mod will help enforce the use of these methods instead of the methods on `IndexMap` itself. - /// - /// You can use these exports as follows: /// ``` - /// use sbor::rust::collections::*; + /// use radix_rust::prelude::*; /// /// # type K = u32; /// # type V = u32; @@ -397,7 +391,14 @@ pub mod collections { pub type DefaultHashBuilder = std::collections::hash_map::RandomState; // See https://github.com/bluss/indexmap/pull/207 - // By defining an alias with a default `DefaultHashBuilder`, we ensure that this type works as `IndexMap` and that the `FromIter` impl works in no-std. + // By defining an alias with a default `DefaultHashBuilder`, we ensure that this type works as `IndexMap` + // and that the `FromIter` impl works in no-std. + // + // NOTE: `IndexMap::new()` only exists in `std`, and always creates an + // `indexmap::IndexMap::`. + // This breaks when the `alloc` and `fuzzing` features are enabled. + // + // Instead, prefer `indexmap!()`, `index_map_new()` or `IndexMap::default()`. pub type IndexMap = indexmap::IndexMap; /// This is safe for std and no-std use cases (unlike `IndexMap::new` which disappears when std is not in the toolchain - see @@ -433,16 +434,14 @@ pub mod collections { pub use indexmap; } - /// The methods and macros provided directly in this `index_set` module (`new`, `with_capacity`) work in both std and no-std modes - unlike the - /// corresponding methods on `IndexSet` itself. + /// The recommended way to use [`IndexSet`] is to add `use radix_rust::prelude::*` and then + /// create new maps using `index_set_new`, `index_set_with_capacity`, or the `indexset!()` macro. /// - /// Unfortunately `IndexSet` is very hard to use from no-std (see [docs](https://docs.rs/indexmap/latest/indexmap/#no-standard-library-targets) - /// and [relevant github issue](https://github.com/bluss/indexmap/issues/184)). It uses a weird build.rs script to detect if no-std is present, which - /// is hard to force unless you explicitly do eg a WASM build and see that it's missing. + /// Note that `IndexSet::new` does not function correctly when the `alloc` and `fuzzing` features + /// are enabled, so use `index_set_new` or `indexset!()` instead. /// - /// You can use these methods as follows: /// ``` - /// use sbor::rust::collections::*; + /// use radix_rust::prelude::*; /// /// # type K = u32; /// # let n: usize = 1; @@ -459,7 +458,14 @@ pub mod collections { pub type DefaultHashBuilder = std::collections::hash_map::RandomState; // See https://github.com/bluss/indexmap/pull/207 - // By defining an alias with a default `DefaultHashBuilder`, we ensure that this type works as `IndexSet` and that the `FromIter` impl works in no-std. + // By defining an alias with a default `DefaultHashBuilder`, we ensure that this type works as + // `IndexSet` and that the `FromIter` impl works in no-std. + // + // NOTE: `IndexSet::new()` only exists in `std`, and always creates an + // `indexmap::IndexSet::`. + // This breaks when the `alloc` and `fuzzing` features are enabled. + // + // Instead, prefer `indexset!()`, `index_set_new()` or `IndexSet::default()`. pub type IndexSet = indexmap::IndexSet; /// This is safe for std and no-std use cases (unlike `IndexSet::new` which disappears when std is not in the toolchain - see From a5c4a0bbf204e552afb54effa91217addcbd974c Mon Sep 17 00:00:00 2001 From: David Edey Date: Wed, 7 Aug 2024 21:51:58 +0100 Subject: [PATCH 07/10] benches: Explicit value / raw value benches --- radix-engine-tests/benches/costing.rs | 34 ++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/radix-engine-tests/benches/costing.rs b/radix-engine-tests/benches/costing.rs index f91273995d0..57c7d441b33 100644 --- a/radix-engine-tests/benches/costing.rs +++ b/radix-engine-tests/benches/costing.rs @@ -23,26 +23,46 @@ use sbor::rust::iter; use scrypto_test::prelude::LedgerSimulatorBuilder; use wabt::wat2wasm; -fn bench_decode_sbor(c: &mut Criterion) { +fn bench_decode_rpd_to_manifest_value(c: &mut Criterion) { let payload = include_workspace_asset_bytes!("radix-transaction-scenarios", "radiswap.rpd"); println!("Payload size: {}", payload.len()); - c.bench_function("costing::decode_sbor", |b| { + c.bench_function("costing::decode_rpd_to_manifest_value", |b| { b.iter(|| manifest_decode::(payload)) }); } -fn bench_decode_sbor_bytes(c: &mut Criterion) { +fn bench_decode_rpd_to_manifest_raw_value(c: &mut Criterion) { + let payload = include_workspace_asset_bytes!("radix-transaction-scenarios", "radiswap.rpd"); + println!("Payload size: {}", payload.len()); + c.bench_function("costing::decode_rpd_to_manifest_raw_value", |b| { + b.iter(|| manifest_decode::(payload)) + }); +} + +fn bench_decode_bytes_to_manifest_value(c: &mut Criterion) { let payload = manifest_encode(include_workspace_asset_bytes!( "radix-transaction-scenarios", "radiswap.rpd" )) .unwrap(); println!("Payload size: {}", payload.len()); - c.bench_function("costing::decode_sbor_bytes", |b| { + c.bench_function("costing::decode_bytes_to_manifest_value", |b| { b.iter(|| manifest_decode::(&payload)) }); } +fn bench_decode_bytes_to_manifest_raw_value(c: &mut Criterion) { + let payload = manifest_encode(include_workspace_asset_bytes!( + "radix-transaction-scenarios", + "radiswap.rpd" + )) + .unwrap(); + println!("Payload size: {}", payload.len()); + c.bench_function("costing::decode_bytes_to_manifest_raw_value", |b| { + b.iter(|| manifest_decode::(&payload)) + }); +} + fn bench_validate_sbor_payload(c: &mut Criterion) { let package_definition = manifest_decode::(include_workspace_asset_bytes!( "radix-transaction-scenarios", @@ -230,8 +250,10 @@ fn bench_prepare_wasm(c: &mut Criterion) { criterion_group!( costing, - bench_decode_sbor, - bench_decode_sbor_bytes, + bench_decode_rpd_to_manifest_value, + bench_decode_rpd_to_manifest_raw_value, + bench_decode_bytes_to_manifest_value, + bench_decode_bytes_to_manifest_raw_value, bench_validate_sbor_payload, bench_validate_sbor_payload_bytes, bench_validate_secp256k1, From 9141df7f19272b9aef790dd497a7623d7a56d683 Mon Sep 17 00:00:00 2001 From: David Edey Date: Wed, 7 Aug 2024 23:26:59 +0100 Subject: [PATCH 08/10] benches: Add large substate benchmarks --- .../src/transaction_limits.rs | 68 ++++++++++------ radix-engine-tests/benches/costing.rs | 78 +++++++++++++++++++ .../tests/system/transaction_limits.rs | 8 +- 3 files changed, 125 insertions(+), 29 deletions(-) diff --git a/radix-engine-tests/assets/blueprints/transaction_limits/src/transaction_limits.rs b/radix-engine-tests/assets/blueprints/transaction_limits/src/transaction_limits.rs index 91fac94f386..578b2d761f9 100644 --- a/radix-engine-tests/assets/blueprints/transaction_limits/src/transaction_limits.rs +++ b/radix-engine-tests/assets/blueprints/transaction_limits/src/transaction_limits.rs @@ -1,4 +1,3 @@ -use sbor::*; use scrypto::prelude::*; #[derive(Sbor, ScryptoEvent)] @@ -92,32 +91,38 @@ mod transaction_limits_substate { } impl TransactionLimitSubstateTest { - pub fn write_large_value(raw_array_size: usize) -> Global { - // SBOR encoding of Vec - let mut buf = Vec::new(); - let mut encoder = VecEncoder::::new(&mut buf, 100); - encoder - .write_payload_prefix(SCRYPTO_SBOR_V1_PAYLOAD_PREFIX) - .unwrap(); - encoder.write_value_kind(ValueKind::Array).unwrap(); - encoder.write_value_kind(ValueKind::U8).unwrap(); - encoder.write_size(raw_array_size).unwrap(); - buf.reserve(raw_array_size); - let new_len = buf.len() + raw_array_size; - unsafe { buf.set_len(new_len) }; - + pub fn write_large_values( + raw_array_sizes: Vec, + ) -> Global { // Create a KVStore let kv_store = KeyValueStore::>::new(); - - // Insert into store - let key_payload = scrypto_encode(&1u32).unwrap(); - let handle = ScryptoVmV1Api::kv_store_open_entry( - kv_store.id.as_node_id(), - &key_payload, - LockFlags::MUTABLE, - ); - unsafe { wasm_api::kv_entry::kv_entry_write(handle, buf.as_ptr(), buf.len()) }; - ScryptoVmV1Api::kv_entry_close(handle); + let mut key_value = 0u32; + for raw_array_size in raw_array_sizes { + // SBOR encoding of Vec + let mut buf = Vec::new(); + let mut encoder = VecEncoder::::new(&mut buf, 100); + encoder + .write_payload_prefix(SCRYPTO_SBOR_V1_PAYLOAD_PREFIX) + .unwrap(); + encoder.write_value_kind(ValueKind::Array).unwrap(); + encoder.write_value_kind(ValueKind::U8).unwrap(); + encoder.write_size(raw_array_size).unwrap(); + buf.reserve(raw_array_size); + let new_len = buf.len() + raw_array_size; + unsafe { buf.set_len(new_len) }; + + // Insert into store + let key_payload = scrypto_encode(&key_value).unwrap(); + let handle = ScryptoVmV1Api::kv_store_open_entry( + kv_store.id.as_node_id(), + &key_payload, + LockFlags::MUTABLE, + ); + unsafe { wasm_api::kv_entry::kv_entry_write(handle, buf.as_ptr(), buf.len()) }; + ScryptoVmV1Api::kv_entry_close(handle); + + key_value += 1; + } // Put the kv store into a component TransactionLimitSubstateTest { kv_store } @@ -125,6 +130,19 @@ mod transaction_limits_substate { .prepare_to_globalize(OwnerRole::None) .globalize() } + + pub fn read_values(&self, limit: u32) { + for key in 0..limit { + let key_payload = scrypto_encode(&key).unwrap(); + let handle = ScryptoVmV1Api::kv_store_open_entry( + self.kv_store.id.as_node_id(), + &key_payload, + LockFlags::read_only(), + ); + let _raw_bytes = ScryptoVmV1Api::kv_entry_read(handle); + ScryptoVmV1Api::kv_entry_close(handle); + } + } } } diff --git a/radix-engine-tests/benches/costing.rs b/radix-engine-tests/benches/costing.rs index 57c7d441b33..9a09d62dd04 100644 --- a/radix-engine-tests/benches/costing.rs +++ b/radix-engine-tests/benches/costing.rs @@ -248,6 +248,82 @@ fn bench_prepare_wasm(c: &mut Criterion) { }); } +fn bench_execute_transaction_creating_big_vec_substates(c: &mut Criterion) { + let mut ledger = LedgerSimulatorBuilder::new().without_kernel_trace().build(); + + let (code, definition) = PackageLoader::get("transaction_limits"); + let package_address = + ledger.publish_package((code, definition), BTreeMap::new(), OwnerRole::None); + + let substate_sizes = [ + 1000, + 100000, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + ]; + + c.bench_function( + "costing::execute_transaction_creating_big_vec_substates", + |b| { + b.iter(|| { + ledger + .call_function( + package_address, + "TransactionLimitSubstateTest", + "write_large_values", + manifest_args!(&substate_sizes), + ) + .expect_commit_success(); + }) + }, + ); +} + +fn bench_execute_transaction_reading_big_vec_substates(c: &mut Criterion) { + let mut ledger = LedgerSimulatorBuilder::new().without_kernel_trace().build(); + + let (code, definition) = PackageLoader::get("transaction_limits"); + let package_address = + ledger.publish_package((code, definition), BTreeMap::new(), OwnerRole::None); + + let substate_sizes = [ + 1000, + 100000, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + MAX_SUBSTATE_VALUE_SIZE - 100, + ]; + let component_address = ledger + .call_function( + package_address, + "TransactionLimitSubstateTest", + "write_large_values", + manifest_args!(&substate_sizes), + ) + .expect_commit_success() + .new_component_addresses()[0]; + + let substates_to_read = substate_sizes.len() as u32; + + c.bench_function( + "costing::execute_transaction_reading_big_vec_substates", + |b| { + b.iter(|| { + ledger + .call_method( + component_address, + "read_values", + manifest_args!(substates_to_read), + ) + .expect_commit_success(); + }) + }, + ); +} + criterion_group!( costing, bench_decode_rpd_to_manifest_value, @@ -263,5 +339,7 @@ criterion_group!( bench_deserialize_wasm, bench_validate_wasm, bench_prepare_wasm, + bench_execute_transaction_creating_big_vec_substates, + bench_execute_transaction_reading_big_vec_substates, ); criterion_main!(costing); diff --git a/radix-engine-tests/tests/system/transaction_limits.rs b/radix-engine-tests/tests/system/transaction_limits.rs index c14833d0846..90b15bd0f45 100644 --- a/radix-engine-tests/tests/system/transaction_limits.rs +++ b/radix-engine-tests/tests/system/transaction_limits.rs @@ -206,8 +206,8 @@ fn test_default_substate_size_limit() { .call_function( package_address, "TransactionLimitSubstateTest", - "write_large_value", - manifest_args!(MAX_SUBSTATE_VALUE_SIZE - 17), + "write_large_values", + manifest_args!([MAX_SUBSTATE_VALUE_SIZE - 17]), ) .build(); let receipt = ledger.execute_manifest(manifest, vec![]); @@ -221,8 +221,8 @@ fn test_default_substate_size_limit() { .call_function( package_address, "TransactionLimitSubstateTest", - "write_large_value", - manifest_args!(MAX_SUBSTATE_VALUE_SIZE - 16), + "write_large_values", + manifest_args!([MAX_SUBSTATE_VALUE_SIZE - 16]), ) .build(); let receipt = ledger.execute_manifest(manifest, vec![]); From 1f88b584b3e2a6737304270caf839cfbaccfd583 Mon Sep 17 00:00:00 2001 From: David Edey Date: Thu, 8 Aug 2024 00:28:44 +0100 Subject: [PATCH 09/10] tweak: Rename `as_value_ref()` to `as_value()` for better consistency --- .../src/types/indexed_value.rs | 2 +- .../checkers/role_assignment_db_checker.rs | 4 ++-- radix-engine/src/system/system.rs | 4 ++-- sbor/src/encoded_wrappers.rs | 16 +++++++++------- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/radix-engine-interface/src/types/indexed_value.rs b/radix-engine-interface/src/types/indexed_value.rs index 14726552769..6490f19e503 100644 --- a/radix-engine-interface/src/types/indexed_value.rs +++ b/radix-engine-interface/src/types/indexed_value.rs @@ -100,7 +100,7 @@ impl<'v> IndexedScryptoValue<'v> { } pub fn as_value(&self) -> ScryptoRawValue { - self.value.as_value_ref() + self.value.as_value() } pub fn as_unvalidated(&self) -> ScryptoUnvalidatedRawValue { diff --git a/radix-engine/src/system/checkers/role_assignment_db_checker.rs b/radix-engine/src/system/checkers/role_assignment_db_checker.rs index da06dec0881..8801ede2460 100644 --- a/radix-engine/src/system/checkers/role_assignment_db_checker.rs +++ b/radix-engine/src/system/checkers/role_assignment_db_checker.rs @@ -85,8 +85,8 @@ impl ApplicationChecker for RoleAssignmentDatabaseChecker { node_id, module_id, collection_index, - key: key.as_value_ref().into_owned(), - value: value.as_value_ref().into_owned(), + key: key.as_value().into_owned(), + value: value.as_value().into_owned(), }, error, }) diff --git a/radix-engine/src/system/system.rs b/radix-engine/src/system/system.rs index 1781e850e70..b38b06e4263 100644 --- a/radix-engine/src/system/system.rs +++ b/radix-engine/src/system/system.rs @@ -1146,7 +1146,7 @@ impl<'a, Y: KernelApi>, V: SystemCallbackObject> SystemFieldApi self.validate_blueprint_payload( &target, BlueprintPayloadIdentifier::Field(field_index), - buffer.as_value_ref(), + buffer.as_value(), )?, _ => { return Err(RuntimeError::SystemError(SystemError::NotAFieldWriteHandle)); @@ -1814,7 +1814,7 @@ impl<'a, Y: KernelApi>, V: SystemCallbackObject> SystemKeyValueStoreAp meta: *node_id, }; - let key = self.validate_kv_store_payload(&target, KeyOrValue::Key, key.as_value_ref())?; + let key = self.validate_kv_store_payload(&target, KeyOrValue::Key, key.as_value())?; let lock_data = if flags.contains(LockFlags::MUTABLE) { SystemLockData::KeyValueEntry(KeyValueEntryLockData::KVStoreWrite { diff --git a/sbor/src/encoded_wrappers.rs b/sbor/src/encoded_wrappers.rs index 7372f1f5e06..4567662258c 100644 --- a/sbor/src/encoded_wrappers.rs +++ b/sbor/src/encoded_wrappers.rs @@ -198,7 +198,7 @@ impl<'a, E: CustomExtension> UnvalidatedRawPayload<'a, E> { /// ## Conversion between forms /// /// The following conversions are all useful: -/// * `as_payload_ref<'b>(&'b self) > RawPayload<'b, E>` - Cheaply creates an owned `RawPayload`, +/// * `as_payload<'b>(&'b self) > RawPayload<'b, E>` - Cheaply creates an owned `RawPayload`, /// referring to a slice of the underlying bytes from `&self`. /// * `into_owned(self) > RawPayload<'static, E>` - Converts the underlying bytes into an owned /// `Vec` - either moving out of `self` if possible, if not, creating a `Vec` of the @@ -308,12 +308,13 @@ impl<'a, E: CustomExtension> RawPayload<'a, E> { self.0.into_owned() } - pub fn as_payload_ref<'b>(&'b self) -> RawPayload<'b, E> { + /// Cheaply returns an owned [`RawPayload`] which internally is a reference to the underlying content. + pub fn as_payload<'b>(&'b self) -> RawPayload<'b, E> { RawPayload::from_valid_payload_slice(self.as_slice()) } pub fn ref_into_owned(&self) -> RawPayload<'static, E> { - self.as_payload_ref().into_owned() + self.as_payload().into_owned() } pub fn into_owned(self) -> RawPayload<'static, E> { @@ -473,7 +474,7 @@ impl<'a, E: CustomExtension> UnvalidatedRawValue<'a, E> { } /// Cheaply returns an owned [`UnvalidatedRawValue`] which internally is a reference to the underlying content. - pub fn as_value_ref(&self) -> UnvalidatedRawValue { + pub fn as_value(&self) -> UnvalidatedRawValue { UnvalidatedRawValue(self.0.as_content_ref()) } @@ -601,7 +602,7 @@ impl<'a, E: CustomExtension> UnvalidatedRawValue<'a, E> { /// ## Conversion between forms /// /// The following are common conversions between different forms: -/// * `as_value_ref<'b>(&'b self) > RawValue<'b, E>` - Cheaply creates an owned `RawValue`, +/// * `as_value<'b>(&'b self) > RawValue<'b, E>` - Cheaply creates an owned `RawValue`, /// referring to a slice of the underlying bytes from `&self`. /// * `into_owned(self) > RawValue<'static, E>` - Converts the underlying bytes into an owned /// `Vec` - either moving out of `self` if possible, if not, creating a `Vec` of the @@ -703,12 +704,12 @@ impl<'a, E: CustomExtension> RawValue<'a, E> { } /// Cheaply returns an owned [`RawValue`] which internally is a reference to the underlying content. - pub fn as_value_ref(&self) -> RawValue { + pub fn as_value(&self) -> RawValue { RawValue(self.0.as_content_ref()) } pub fn ref_into_owned(&self) -> RawValue<'static, E> { - self.as_value_ref().into_owned() + self.as_value().into_owned() } pub fn into_owned(self) -> RawValue<'static, E> { @@ -725,6 +726,7 @@ impl<'a, E: CustomExtension> RawValue<'a, E> { RawValue(content) } + /// Cheaply returns an owned [`RawPayload`] which internally is a reference to the underlying content. pub fn as_payload<'b>(&'b self) -> RawPayload<'b, E> { RawPayload::from_valid_payload_cow(self.as_payload_cow()) } From 5e80b5572eb0d079829134e44360e74eb33a881b Mon Sep 17 00:00:00 2001 From: David Edey Date: Thu, 8 Aug 2024 00:29:07 +0100 Subject: [PATCH 10/10] fix: Run format.sh --- sbor/src/payload_validation/payload_validator.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sbor/src/payload_validation/payload_validator.rs b/sbor/src/payload_validation/payload_validator.rs index 0b0108eb919..eac188b995d 100644 --- a/sbor/src/payload_validation/payload_validator.rs +++ b/sbor/src/payload_validation/payload_validator.rs @@ -573,12 +573,9 @@ mod tests { ) { let (type_id, schema) = generate_full_schema_from_single_type::(); - let Err(error) = BasicRawPayload::from_valid_payload(payload).validate_against_type_with_max_depth( - depth_limit, - schema.v1(), - type_id, - &(), - ) else { + let Err(error) = BasicRawPayload::from_valid_payload(payload) + .validate_against_type_with_max_depth(depth_limit, schema.v1(), type_id, &()) + else { panic!("Validation did not error with too short a payload"); }; assert_eq!(error.location.path_to_string(schema.v1()), expected_path);