public static void Encode(XdrDataOutputStream stream, PathPaymentStrictSendOp encodedPathPaymentStrictSendOp) { Asset.Encode(stream, encodedPathPaymentStrictSendOp.SendAsset); Int64.Encode(stream, encodedPathPaymentStrictSendOp.SendAmount); MuxedAccount.Encode(stream, encodedPathPaymentStrictSendOp.Destination); Asset.Encode(stream, encodedPathPaymentStrictSendOp.DestAsset); Int64.Encode(stream, encodedPathPaymentStrictSendOp.DestMin); int pathsize = encodedPathPaymentStrictSendOp.Path.Length; stream.WriteInt(pathsize); for (int i = 0; i < pathsize; i++) { Asset.Encode(stream, encodedPathPaymentStrictSendOp.Path[i]); } }
public static PathPaymentStrictSendOp Decode(XdrDataInputStream stream) { PathPaymentStrictSendOp decodedPathPaymentStrictSendOp = new PathPaymentStrictSendOp(); decodedPathPaymentStrictSendOp.SendAsset = Asset.Decode(stream); decodedPathPaymentStrictSendOp.SendAmount = Int64.Decode(stream); decodedPathPaymentStrictSendOp.Destination = MuxedAccount.Decode(stream); decodedPathPaymentStrictSendOp.DestAsset = Asset.Decode(stream); decodedPathPaymentStrictSendOp.DestMin = Int64.Decode(stream); int pathsize = stream.ReadInt(); decodedPathPaymentStrictSendOp.Path = new Asset[pathsize]; for (int i = 0; i < pathsize; i++) { decodedPathPaymentStrictSendOp.Path[i] = Asset.Decode(stream); } return(decodedPathPaymentStrictSendOp); }
public static OperationBody Decode(XdrDataInputStream stream) { OperationBody decodedOperationBody = new OperationBody(); OperationType discriminant = OperationType.Decode(stream); decodedOperationBody.Discriminant = discriminant; switch (decodedOperationBody.Discriminant.InnerValue) { case OperationType.OperationTypeEnum.CREATE_ACCOUNT: decodedOperationBody.CreateAccountOp = CreateAccountOp.Decode(stream); break; case OperationType.OperationTypeEnum.PAYMENT: decodedOperationBody.PaymentOp = PaymentOp.Decode(stream); break; case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_RECEIVE: decodedOperationBody.PathPaymentStrictReceiveOp = PathPaymentStrictReceiveOp.Decode(stream); break; case OperationType.OperationTypeEnum.MANAGE_SELL_OFFER: decodedOperationBody.ManageSellOfferOp = ManageSellOfferOp.Decode(stream); break; case OperationType.OperationTypeEnum.CREATE_PASSIVE_SELL_OFFER: decodedOperationBody.CreatePassiveSellOfferOp = CreatePassiveSellOfferOp.Decode(stream); break; case OperationType.OperationTypeEnum.SET_OPTIONS: decodedOperationBody.SetOptionsOp = SetOptionsOp.Decode(stream); break; case OperationType.OperationTypeEnum.CHANGE_TRUST: decodedOperationBody.ChangeTrustOp = ChangeTrustOp.Decode(stream); break; case OperationType.OperationTypeEnum.ALLOW_TRUST: decodedOperationBody.AllowTrustOp = AllowTrustOp.Decode(stream); break; case OperationType.OperationTypeEnum.ACCOUNT_MERGE: decodedOperationBody.Destination = MuxedAccount.Decode(stream); break; case OperationType.OperationTypeEnum.INFLATION: break; case OperationType.OperationTypeEnum.MANAGE_DATA: decodedOperationBody.ManageDataOp = ManageDataOp.Decode(stream); break; case OperationType.OperationTypeEnum.BUMP_SEQUENCE: decodedOperationBody.BumpSequenceOp = BumpSequenceOp.Decode(stream); break; case OperationType.OperationTypeEnum.MANAGE_BUY_OFFER: decodedOperationBody.ManageBuyOfferOp = ManageBuyOfferOp.Decode(stream); break; case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_SEND: decodedOperationBody.PathPaymentStrictSendOp = PathPaymentStrictSendOp.Decode(stream); break; case OperationType.OperationTypeEnum.CREATE_CLAIMABLE_BALANCE: decodedOperationBody.CreateClaimableBalanceOp = CreateClaimableBalanceOp.Decode(stream); break; case OperationType.OperationTypeEnum.CLAIM_CLAIMABLE_BALANCE: decodedOperationBody.ClaimClaimableBalanceOp = ClaimClaimableBalanceOp.Decode(stream); break; case OperationType.OperationTypeEnum.BEGIN_SPONSORING_FUTURE_RESERVES: decodedOperationBody.BeginSponsoringFutureReservesOp = BeginSponsoringFutureReservesOp.Decode(stream); break; case OperationType.OperationTypeEnum.END_SPONSORING_FUTURE_RESERVES: break; case OperationType.OperationTypeEnum.REVOKE_SPONSORSHIP: decodedOperationBody.RevokeSponsorshipOp = RevokeSponsorshipOp.Decode(stream); break; } return(decodedOperationBody); }
public static void Encode(XdrDataOutputStream stream, OperationBody encodedOperationBody) { stream.WriteInt((int)encodedOperationBody.Discriminant.InnerValue); switch (encodedOperationBody.Discriminant.InnerValue) { case OperationType.OperationTypeEnum.CREATE_ACCOUNT: CreateAccountOp.Encode(stream, encodedOperationBody.CreateAccountOp); break; case OperationType.OperationTypeEnum.PAYMENT: PaymentOp.Encode(stream, encodedOperationBody.PaymentOp); break; case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_RECEIVE: PathPaymentStrictReceiveOp.Encode(stream, encodedOperationBody.PathPaymentStrictReceiveOp); break; case OperationType.OperationTypeEnum.MANAGE_SELL_OFFER: ManageSellOfferOp.Encode(stream, encodedOperationBody.ManageSellOfferOp); break; case OperationType.OperationTypeEnum.CREATE_PASSIVE_SELL_OFFER: CreatePassiveSellOfferOp.Encode(stream, encodedOperationBody.CreatePassiveSellOfferOp); break; case OperationType.OperationTypeEnum.SET_OPTIONS: SetOptionsOp.Encode(stream, encodedOperationBody.SetOptionsOp); break; case OperationType.OperationTypeEnum.CHANGE_TRUST: ChangeTrustOp.Encode(stream, encodedOperationBody.ChangeTrustOp); break; case OperationType.OperationTypeEnum.ALLOW_TRUST: AllowTrustOp.Encode(stream, encodedOperationBody.AllowTrustOp); break; case OperationType.OperationTypeEnum.ACCOUNT_MERGE: MuxedAccount.Encode(stream, encodedOperationBody.Destination); break; case OperationType.OperationTypeEnum.INFLATION: break; case OperationType.OperationTypeEnum.MANAGE_DATA: ManageDataOp.Encode(stream, encodedOperationBody.ManageDataOp); break; case OperationType.OperationTypeEnum.BUMP_SEQUENCE: BumpSequenceOp.Encode(stream, encodedOperationBody.BumpSequenceOp); break; case OperationType.OperationTypeEnum.MANAGE_BUY_OFFER: ManageBuyOfferOp.Encode(stream, encodedOperationBody.ManageBuyOfferOp); break; case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_SEND: PathPaymentStrictSendOp.Encode(stream, encodedOperationBody.PathPaymentStrictSendOp); break; case OperationType.OperationTypeEnum.CREATE_CLAIMABLE_BALANCE: CreateClaimableBalanceOp.Encode(stream, encodedOperationBody.CreateClaimableBalanceOp); break; case OperationType.OperationTypeEnum.CLAIM_CLAIMABLE_BALANCE: ClaimClaimableBalanceOp.Encode(stream, encodedOperationBody.ClaimClaimableBalanceOp); break; case OperationType.OperationTypeEnum.BEGIN_SPONSORING_FUTURE_RESERVES: BeginSponsoringFutureReservesOp.Encode(stream, encodedOperationBody.BeginSponsoringFutureReservesOp); break; case OperationType.OperationTypeEnum.END_SPONSORING_FUTURE_RESERVES: break; case OperationType.OperationTypeEnum.REVOKE_SPONSORSHIP: RevokeSponsorshipOp.Encode(stream, encodedOperationBody.RevokeSponsorshipOp); break; } }