substrate_stellar_sdk/xdr/impls/operations/
revoke_sponsorship.rs1use crate::{
2 types::{OperationBody, RevokeSponsorshipOp, RevokeSponsorshipOpSigner},
3 IntoPublicKey, LedgerKey, Operation, SignerKey, StellarSdkError,
4};
5
6impl Operation {
7 pub fn new_revoke_sponsorship_ledger_entry(ledger_key: LedgerKey) -> Result<Operation, StellarSdkError> {
8 Ok(Operation {
9 source_account: None,
10 body: OperationBody::RevokeSponsorship(RevokeSponsorshipOp::RevokeSponsorshipLedgerEntry(ledger_key)),
11 })
12 }
13
14 pub fn new_revoke_sponsorship_signer<T: IntoPublicKey>(
15 account_id: T,
16 signer_key: SignerKey,
17 ) -> Result<Operation, StellarSdkError> {
18 Ok(Operation {
19 source_account: None,
20 body: OperationBody::RevokeSponsorship(RevokeSponsorshipOp::RevokeSponsorshipSigner(
21 RevokeSponsorshipOpSigner { account_id: account_id.into_public_key()?, signer_key },
22 )),
23 })
24 }
25}