From 0ffc965216698386b649bdc7e76f31bb57f6e2e7 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 30 May 2024 11:31:37 +0300 Subject: [PATCH] ManagedDecimal type abi fix, proxy update --- contracts/feature-tests/abi-tester/src/abi_proxy.rs | 9 +++++++++ .../base/src/types/managed/wrapped/managed_decimal.rs | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/contracts/feature-tests/abi-tester/src/abi_proxy.rs b/contracts/feature-tests/abi-tester/src/abi_proxy.rs index 55f3a6e6ef..2011970429 100644 --- a/contracts/feature-tests/abi-tester/src/abi_proxy.rs +++ b/contracts/feature-tests/abi-tester/src/abi_proxy.rs @@ -578,3 +578,12 @@ pub enum ExplicitDiscriminantMixed { b: u16, }, } + +#[type_abi] +#[derive(TopEncode, TopDecode)] +pub struct ManagedDecimalWrapper +where + Api: ManagedTypeApi, +{ + pub field: ManagedDecimal>, +} diff --git a/framework/base/src/types/managed/wrapped/managed_decimal.rs b/framework/base/src/types/managed/wrapped/managed_decimal.rs index bc9b282a55..89a7c47ca9 100644 --- a/framework/base/src/types/managed/wrapped/managed_decimal.rs +++ b/framework/base/src/types/managed/wrapped/managed_decimal.rs @@ -391,6 +391,13 @@ impl TypeAbi TypeName::from(alloc::format!("ManagedDecimal<{}>", DECIMALS)) } + fn type_name_rust() -> TypeName { + TypeName::from(alloc::format!( + "ManagedDecimal<$API, ConstDecimals<{}>>", + DECIMALS + )) + } + fn is_variadic() -> bool { false }