public override sdkxdr.Operation.OperationBody ToOperationBody() { sdkxdr.PathPaymentOp op = new sdkxdr.PathPaymentOp(); // sendAsset op.SendAsset = SendAsset.ToXdr(); // sendMax sdkxdr.Int64 sendMax = new sdkxdr.Int64(); sendMax.InnerValue = ToXdrAmount(SendMax); op.SendMax = sendMax; // destination sdkxdr.AccountID destination = new sdkxdr.AccountID(); destination.InnerValue = Destination.XdrPublicKey; op.Destination = destination; // destAsset op.DestAsset = DestAsset.ToXdr(); // destAmount sdkxdr.Int64 destAmount = new sdkxdr.Int64(); destAmount.InnerValue = ToXdrAmount(DestAmount); op.DestAmount = destAmount; // path sdkxdr.Asset[] path = new sdkxdr.Asset[Path.Length]; for (int i = 0; i < Path.Length; i++) { path[i] = Path[i].ToXdr(); } op.Path = path; sdkxdr.Operation.OperationBody body = new sdkxdr.Operation.OperationBody(); body.Discriminant = sdkxdr.OperationType.Create(sdkxdr.OperationType.OperationTypeEnum.PATH_PAYMENT); body.PathPaymentOp = op; return(body); }
public Builder(sdkxdr.PathPaymentOp op) { _SendAsset = Asset.FromXdr(op.SendAsset); _SendMax = FromXdrAmount(op.SendMax.InnerValue); _Destination = KeyPair.FromXdrPublicKey(op.Destination.InnerValue); _DestAsset = Asset.FromXdr(op.DestAsset); _DestAmount = FromXdrAmount(op.DestAmount.InnerValue); _Path = new Asset[op.Path.Length]; for (var i = 0; i < op.Path.Length; i++) { _Path[i] = Asset.FromXdr(op.Path[i]); } }