diff --git a/packages/rs-sdk/src/platform/transition/transfer.rs b/packages/rs-sdk/src/platform/transition/transfer.rs index 7bd7ddd3644..50aa3e6cb41 100644 --- a/packages/rs-sdk/src/platform/transition/transfer.rs +++ b/packages/rs-sdk/src/platform/transition/transfer.rs @@ -1,11 +1,12 @@ use dpp::identifier::Identifier; use dpp::identity::accessors::IdentityGettersV0; +use dpp::state_transition::proof_result::StateTransitionProofResult; use crate::platform::transition::broadcast::BroadcastStateTransition; use crate::platform::transition::put_settings::PutSettings; use crate::{Error, Sdk}; use dpp::identity::signer::Signer; -use dpp::identity::{Identity, IdentityPublicKey, PartialIdentity}; +use dpp::identity::{Identity, IdentityPublicKey}; use dpp::state_transition::identity_credit_transfer_transition::methods::IdentityCreditTransferTransitionMethodsV0; use dpp::state_transition::identity_credit_transfer_transition::IdentityCreditTransferTransition; @@ -60,10 +61,15 @@ impl TransferToIdentity for Identity { None, )?; - let identity: PartialIdentity = state_transition.broadcast_and_wait(sdk, settings).await?; + let result = state_transition.broadcast_and_wait(sdk, settings).await?; - identity.balance.ok_or(Error::DapiClientError( - "expected an identity balance after transfer".to_string(), - )) + match result { + StateTransitionProofResult::VerifiedBalanceTransfer(sender, _recipient) => { + sender.balance.ok_or(Error::DapiClientError( + "expected an identity balance after transfer".to_string(), + )) + } + _ => Err(Error::DapiClientError("proved a non identity".to_string())), + } } }