From 70b4a4463d86d635e9ba8474bfdcf9b06a786e11 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Mon, 8 Apr 2024 18:01:25 +0300 Subject: [PATCH] builtin func - clam dev rewards fix --- contracts/modules/src/claim_developer_rewards.rs | 4 +++- .../base/src/contract_base/wrappers/send_wrapper.rs | 12 +++++++----- framework/base/src/types/interaction/system_proxy.rs | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/contracts/modules/src/claim_developer_rewards.rs b/contracts/modules/src/claim_developer_rewards.rs index 31911b815f..ac1187ab20 100644 --- a/contracts/modules/src/claim_developer_rewards.rs +++ b/contracts/modules/src/claim_developer_rewards.rs @@ -4,6 +4,8 @@ multiversx_sc::imports!(); pub trait ClaimDeveloperRewardsModule { #[endpoint(claimDeveloperRewards)] fn claim_developer_rewards(&self, child_sc_address: ManagedAddress) { - self.claim_developer_rewards(child_sc_address); + self.send() + .claim_developer_rewards(child_sc_address) + .sync_call(); } } diff --git a/framework/base/src/contract_base/wrappers/send_wrapper.rs b/framework/base/src/contract_base/wrappers/send_wrapper.rs index ce9a130eed..959ae206f0 100644 --- a/framework/base/src/contract_base/wrappers/send_wrapper.rs +++ b/framework/base/src/contract_base/wrappers/send_wrapper.rs @@ -13,9 +13,9 @@ use crate::{ ESDT_NFT_CREATE_FUNC_NAME, ESDT_NFT_UPDATE_ATTRIBUTES_FUNC_NAME, }, BigUint, ContractCall, ContractCallNoPayment, ESDTSystemSCAddress, - EgldOrEsdtTokenIdentifier, EsdtTokenPayment, GasLeft, ManagedAddress, ManagedArgBuffer, - ManagedBuffer, ManagedType, ManagedVec, ReturnsRawResult, ToSelf, TokenIdentifier, Tx, - TxScEnv, + EgldOrEsdtTokenIdentifier, EsdtTokenPayment, FunctionCall, GasLeft, ManagedAddress, + ManagedArgBuffer, ManagedBuffer, ManagedType, ManagedVec, OriginalResultMarker, + ReturnsRawResult, ToSelf, TokenIdentifier, Tx, TxScEnv, }, }; @@ -361,10 +361,12 @@ where /// Creates a call to the `ClaimDeveloperRewards` builtin function. /// /// In itself, this does nothing. You need to then call turn the contract call into an async call. + #[allow(clippy::type_complexity)] pub fn claim_developer_rewards( &self, child_sc_address: ManagedAddress, - ) -> system_proxy::UserBuiltinProxyMethods, (), ManagedAddress, ()> { + ) -> Tx, (), ManagedAddress, (), (), FunctionCall, OriginalResultMarker<()>> + { Tx::new_tx_from_sc() .to(child_sc_address) .typed(system_proxy::UserBuiltinProxy) @@ -411,7 +413,7 @@ where .gas(GasLeft) .raw_call(function_name) .arguments_raw(arg_buffer) - // .sync_call() + .sync_call() } /// Allows synchronous minting of ESDT/SFT (depending on nonce). Execution is resumed afterwards. diff --git a/framework/base/src/types/interaction/system_proxy.rs b/framework/base/src/types/interaction/system_proxy.rs index 42bbbcf53b..d9ca05198d 100644 --- a/framework/base/src/types/interaction/system_proxy.rs +++ b/framework/base/src/types/interaction/system_proxy.rs @@ -1,8 +1,8 @@ +pub mod builtin_func_names; mod builtin_func_proxy; mod esdt_system_sc_proxy; mod legacy_system_sc_proxy; pub(crate) mod token_properties; -pub mod builtin_func_names; pub use builtin_func_proxy::*; pub use esdt_system_sc_proxy::*;