drive/state_transition_action/identity/identity_topup/
transformer.rs

1use crate::state_transition_action::identity::identity_topup::v0::IdentityTopUpTransitionActionV0;
2use crate::state_transition_action::identity::identity_topup::IdentityTopUpTransitionAction;
3use dpp::asset_lock::reduced_asset_lock_value::AssetLockValue;
4use dpp::consensus::ConsensusError;
5use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition;
6use dpp::state_transition::signable_bytes_hasher::SignableBytesHasher;
7
8impl IdentityTopUpTransitionAction {
9    /// try from
10    pub fn try_from(
11        value: IdentityTopUpTransition,
12        signable_bytes_hasher: SignableBytesHasher,
13        top_up_asset_lock_value: AssetLockValue,
14    ) -> Result<Self, ConsensusError> {
15        match value {
16            IdentityTopUpTransition::V0(v0) => Ok(IdentityTopUpTransitionActionV0::try_from(
17                v0,
18                signable_bytes_hasher,
19                top_up_asset_lock_value,
20            )?
21            .into()),
22        }
23    }
24
25    /// try from borrowed
26    pub fn try_from_borrowed(
27        value: &IdentityTopUpTransition,
28        signable_bytes_hasher: SignableBytesHasher,
29        top_up_asset_lock_value: AssetLockValue,
30    ) -> Result<Self, ConsensusError> {
31        match value {
32            IdentityTopUpTransition::V0(v0) => {
33                Ok(IdentityTopUpTransitionActionV0::try_from_borrowed(
34                    v0,
35                    signable_bytes_hasher,
36                    top_up_asset_lock_value,
37                )?
38                .into())
39            }
40        }
41    }
42}