diff --git a/common/client-libs/validator-client/src/nymd/traits/vesting_signing_client.rs b/common/client-libs/validator-client/src/nymd/traits/vesting_signing_client.rs index eebf0adfa3..8a3f1d35c5 100644 --- a/common/client-libs/validator-client/src/nymd/traits/vesting_signing_client.rs +++ b/common/client-libs/validator-client/src/nymd/traits/vesting_signing_client.rs @@ -109,6 +109,12 @@ pub trait VestingSigningClient { cap: Option, fee: Option, ) -> Result; + + async fn transfer_ownership( + &self, + to_address: &str, + fee: Option, + ) -> Result; } #[async_trait] @@ -405,4 +411,25 @@ impl VestingSigningClient for NymdClient ) .await } + + async fn transfer_ownership( + &self, + to_address: &str, + fee: Option, + ) -> Result { + let fee = fee.unwrap_or(Fee::Auto(Some(self.simulated_gas_multiplier))); + let req = VestingExecuteMsg::TransferOwnership { + to_address: to_address.to_string(), + }; + self.client + .execute( + self.address(), + self.vesting_contract_address(), + &req, + fee, + "VestingContract::TransferOwnership", + vec![], + ) + .await + } }